PHP/mySQL: mysql_field_name() + Order By

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

  • PHP/mySQL: mysql_field_name() + Order By

    Hallo,
    ich lese die Spalten einer mySQL-Tabelle aus:

    PHP-Code:
    ...

        
    $result=mysql_query("SELECT * FROM $tbl");
        
    $max=mysql_num_fields($result);

        echo 
    "<select name=\"$feldbez\">";

        for(
    $z=0;$z<$max;$z++){
            
    $fieldname=mysql_field_name($result,$z);
            
    $fieldtype=mysql_field_type($result$z);

            echo 
    "<option value=\"$fieldname\">$fieldname</option>";                
        }

        echo 
    "</select>";

    ... 
    Nun würde ich gerne die Liste der MySQL-Spalten alphabetisch sortieren.
    Habe schon div. "Order By" getestet...
    Nix geht...
    Was mach ich falsch?
    Wie heißt das entsprechende Feld?

  • #2
    das Problem ist, Order By in SQL ist nicht für das Sortieren der Spalten, sondern für das Sortieren der Zeilen zuständig ...

    also kannst du eine der Spalten aus der Tabelle nehmen - und danach die Einträge der Ergebnis-Tabelle sortieren, nicht aber die Spalten, da beißt du auf Granit

    um das zu tun was du willst, müsstest du einen Umweg machen
    - die Ergebnisse von mysql_field_name($result,$z); aus deiner for-schleife zum Beispiel in ein array übertragen, dieses sortieren und dann damit arbeiten...
    [font=Verdana]
    Wer LESEN kann, ist klar im Vorteil!
    [/font]

    Kommentar


    • #3
      OK, danke - an eine Array-Sortierung hatte ich auch schon gedacht. Hatte gehofft, dass man es noch eleganter lösen kann!
      Danke für deinen Support!

      Kommentar


      • #4
        Hallo,

        select * sollte man sowieso nur in gut begründbaren Situationen verwenden. Wenn du die Namen der Spalten kennst, solltest du die im select-Statement (in deiner gewünschten Reihenfolge) auflisten.

        Gruß,

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X