Sortierung

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

  • Sortierung

    Hallo, also zuerstmal: So sieht meine Datenbankabfrage momentan aus:

    $a = mysql_query ("select name1, name2, name3 from best where game1='Strike'");

    $row = mysql_fetch_row($a);

    $result = mysql_query ("select uid, wohnort, nachname, plz from alle_daten where uid='$row[0]' or uid='$row[1]' or uid='$row[2]' ");

    while(list($uid, $wohnort, $nachname, $plz) = mysql_fetch_array($result)){
    echo "$nachname ($uid) kommt aus $plz $wohnort<br>";
    }

    Klappt ja an sich so ganz gut, einziges Problem dabei ist jetzt, das die Daten falsch sortiert herauskommen.
    Ich möchte gerne, das zuerst Name1, dann Name2 und zum Schluß Name3 ausgegeben wird, allerdings sortiert das Skript mmentan nach der uid.
    Kann mir da jemand weiterhelfen? Habe es mir PHP-Sortierfunktionen versucht, aber scheinbar bin ich zu dämlich dafür.

    Ich danke euch schonmal...

  • #2
    Schreib:

    $result = mysql_query ("select uid, wohnort, nachname, plz from alle_daten where uid='$row[0]' or uid='$row[1]' or uid='$row[2]' ORDER BY name1, name2, name3");

    ciao

    Kommentar


    • #3
      Thema verschoben!

      Hallo, eigentlich ist das ja ein SQL-Thema, deshalb habe ich es mal auch hier her verschoben.

      Noch eine Ergänzung: du kannst mit "order by name1, name2 usw." auch unterschiedlich sortieren, also auf- und ab-steigend ->
      "order by name1 desc, name2 asc, name3 desc usw."

      Kommentar


      • #4
        @BrainBug: Sorry, dachte das ließe sich nach der Abfrage einfach mit PHP lösen...

        Aber leider funktioniert die vorgeschlagene Lösung auch nicht.

        Warning: Supplied argument is not a valid MySQL result resource

        Hätte mich auch gewundert, denn es handelt sich ja um 2 verschiedene Tabellen und die Tabelle "alle_daten" enthält ja gar nicht die Spalten Name1, Name2 etc., sondern nur die erste Tabelle "best"...

        Kommentar


        • #5
          hmm,

          also mach es in php :
          Code:
          $a = mysql_query ("select name1, name2, name3 from best where game1='Strike'");
          $row = mysql_fetch_row($a);
          for ($i=0;$i<=sizeof($row);$i++)
          {
          $result = mysql_query ("select uid, wohnort, nachname, plz from alle_daten where uid='".$row[$i]."'");
          $rower = mysql_fetch_array($result,MYSQL_ASSOC);
          echo $rower["nachname"]." (".$rower["uid"].") kommt aus ".$rower["plz"]." ".$rower["wohnort"]."<br>";
          }
          das sollte gehen

          Kommentar


          • #6
            Klasse

            Einfach Spitze Joel,
            funktioniert einwandfrei
            *freu*
            *strahl*

            Thx

            Kommentar

            Lädt...
            X