Ankündigung

Einklappen
Keine Ankündigung bisher.

assoc-array sortieren lassen

Einklappen

Neue Werbung 2019

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

  • assoc-array sortieren lassen

    Hallo Freunde,

    ich habe ein array schreiben lassen und möchte nun das ganze array nach einer spalte sortieren lassen. die gesamte Zeile mit dem höchsten wert "punkte" zuerst, ....

    hier mal das erstellen:
    Code:
    while($array = mysql_fetch_assoc($rangabfrage))
    {
    $ranking[id][$c] = $array[id];
    $ranking[nick][$c] = $array[nick];
    $ranking[xkoord][$c] = $array[xkoord];
    $ranking[ykoord][$c] = $array[ykoord];
    $ranking[verbund][$c] = $array[verbund];
    $ranking[punkte][$c] = $array[punkte];
    $c++;
    }
    Ich habe schon die sort-befehle durchsucht, komme damit aber irgendwie nicht klar. Auf deutsch: " Ich versteh nur Bahnhof" !

    Kann mir jemand helfen, das array nach punkten zu sortieren?


  • #2
    Re: assoc-array sortieren lassen

    Zitat von Hawk
    Kann mir jemand helfen, das array nach punkten zu sortieren?
    das macht man in der SQL-abfrage ..

    Code:
    $sql = "SELECT 
                     spalte1, 
                     spalte2,
                     ...,
                     spalteX 
                FROM 
                    tabelle 
                ORDER BY 
                    punkte
                ASC / DESC
    schau einfach ob du sie absteigend oder aufsteigend haben willst ..

    grüße ben
    privater Blog

    Kommentar


    • #3
      ach, doch so leicht. Verdammt. Daran hab ich nun garnicht gedacht. Danke, werds versuchen.

      Kommentar


      • #4
        nachtrag:
        http://dev.mysql.com/doc/mysql/de/SELECT.html
        privater Blog

        Kommentar


        • #5
          Irgendwie passt das aber nicht, der sortiert nicht richtig. Ich glaube kaum, so hab ichs in der schule zumindest gelernt, das nach 340 nicht 44 kommt, oder?

          Hier mal die liste:
          Rang Name Koordinaten Verbund Punkte
          1 frigga.is.a.saint -8 | 9 - 10
          2 Hawk 0 | 0 VTW 124
          3 snook 8 | -5 - 161
          4 Maxcell 10 | -9 - 278
          5 Meister Eder 4 | -1 VTW 3
          6 Hispanic 4 | -4 -]M-C[- 340
          7 Halloduda 8 | 10 - 44
          8 Sonic-geg 7 | -6 =]GEG[= 76

          Das kann doch so nicht ganz richtig sein.

          Kommentar


          • #6
            zeig deine SQL-anweisung .. sonst kann ich schlecht helfen ..
            privater Blog

            Kommentar


            • #7
              $rangabfrage=mysql_query("SELECT id,nick,xkoord,ykoord,verbund,punkte FROM `imp_users` ORDER BY `punkte` DESC");

              so siehts aus. Er sortiert ja auch, aber halt nicht richtig. Man kann ja auch schon sehen, wie er sortiert, wenn man das im phpmyadmin macht, und selbst da stimmts nicht.

              Kommentar


              • #8
                das funktioniert einwandfrei ..
                Code:
                SELECT 
                          name, 
                          punkte
                FROM 
                          sort_test
                ORDER BY 
                          punkte 
                DESC
                wobei sort_test eine testtabelle von mir ist ...
                privater Blog

                Kommentar


                • #9
                  kann das sein, das es int-werte sein müssen, damit er richtig sortiert?

                  Kommentar


                  • #10
                    Ja, ok, es müssen integer-werte sein. Jetzt gehts bei mir auch. Verdammt.

                    Dank dir. Damit komm ich weiter.

                    Kommentar


                    • #11
                      selbstverständlich keine zeichenketten .. ..
                      privater Blog

                      Kommentar

                      Lädt...
                      X