Ankündigung

Einklappen
Keine Ankündigung bisher.

Sortierung von MySQL-Abfragen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sortierung von MySQL-Abfragen

    Hallo liebes Forum.
    In der mySQL-DB habe ich eine Tabelle "nscs" mit folgenden Feldern:
    p_id,vorname,name,profession,ort,datum,getroffen,b eschreibung,anmerkung
    wobei p_id der Primärschlüssel (eine fortlaufende Zahl) ist.
    Die Einträge der DB möchte ich nun nach (Nach-)namen sortiert ausgeben.
    Ich verwende dazu folgendes Scrip:

    PHP-Code:
    $result mysql_query("SELECT * FROM nscs",$conn);
    if (
    $result)
     {
       
    $number mysql_num_rows($result);
           for (
    $i=1;$i<$number+1;$i++)
        { 
        
    $query='SELECT vorname,name,profession,ort,datum,getroffen,beschreibung,anmerkung FROM nscs WHERE p_id = '.$i.' ORDER BY name' ;
        
    $result mysql_query($query,$conn);
        
    $row mysql_fetch_array($result);
        echo (
    "\t<tr><td>");
        echo 
    $row[vorname];
        echo 
    ' ';
        echo 
    $row[name];
        echo 
    '</td>';
        
        if (isset(
    $row[profession]))
        {
            echo 
    '<td>'.$row[profession].'</td>';
        }
        else
        {
            echo 
    '<td></td>';
    //usw....
        

    Obwohl ich in der Query "ORDER BY name" angebe, wird die Tabelle nach der p_id sortiert, was ja auch nicht ganz unlogisch ist, da ich die Tabelle ja nach der p_id aufrufe.
    Daher scheint mein Ansatz falsch zu sein. Ich suche somit eine Möglichkeit, die DB auf einen anderen Weg abzufragen und das Ergebnis sortieren zu lassen.
    Vielen Dank für die Hilfe.

  • #2
    Hehe dein Ansatz ist witzig, aber natürlich falsch. Du sortierst eine Ergebnismenge der Größe 1.

    PHP-Code:
    <?php
    $sql 
    "SELECT vorname,name,profession,ort,datum,getroffen,beschreibung,anmerkung FROM nscs ORDER BY name ASC";
    $res mysql_query($sql);
    while (
    $cur mysql_fetch_assoc($res)) {
      
    // zeilenweise ausgabe
      
    print $cur['nachname'] . ' ' $cur['vorname'] . '
    '
    ;
    }
    ?>

    Kommentar


    • #3
      Ah, verstehe....
      Danke, jetzt klappts...

      Kommentar

      Lädt...
      X