• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Brauche hilfe bei ORDER BY

Status
Für weitere Antworten geschlossen.

Gimli

Mitglied
Hier mal der Code:

PHP:
<?php
   $suche = $_GET['search'];
   $result = mysql_query("SELECT * FROM search WHERE begriff LIKE '%".$_GET['search']."%' OR beschreibung LIKE '%".$_GET['search']."%' OR link LIKE '%".$_GET['search']."%' ORDER BY `pop` DESC") or die(mysql_error());
   if(empty($_GET['search'])) { echo "Sie müssen etwas eingeben zum Suchen!"; }
   elseif(strlen($suche) <= 3) echo "Zu kurzer Suchbegriff!";
   else {
   echo "<h3>Suchergebnisse zu $suche </h3>";
   while ($ds = mysql_fetch_object($result)) {
    $beschreibung = $ds->beschreibung;
    $begriff = $ds->begriff;
    $link = $ds->link;
    $pop = $ds->pop;
    echo "<h4>$begriff</h4>
       <p>$beschreibung</p>
       <a href='link.php?link=$link&pop=$pop' target='_blank'>$link</a>
       <hr>
      ";
   }
   unset($erg);
   }
   ?>

Und er ordnet das auch aber sobald eine variable über 10 ist steht sie wieder am Anfang!! Also ich hab ein Feld da ist bei 'pop' 2 eingetragen und eines da ist 10 eingetragen! Dann komm das in dem 'pop' 2 steht vorher (Wird dem anderen Element vorgeordnet)

Ich hoffe ihr könnt mir helfen!:wink:
 
ist ja auch logisch!
alles wird nach dem ascii system geordnet
und da der erste buchstabe als erstes angeschaut wird, kommt natürlich der kleineste nach oben
1 ^= 49 (ASCII); 2 ^= 50 (ASCII)
ASCII-Tabelle
wenn du es so machen willst, dann must die eine führende null machen also zb. 01, 02, 03, ..., 10, 11, ...n
Gruß KY
Edit: Du kannst statt der "0" auch ein " " nehmen des hat den wert 32 und würde auch vor allen anderen kommen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben