Mehrdimensionale Arrays

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

  • Mehrdimensionale Arrays

    Ich arbeite derzeit an einer art Zeitschriftenverwaltung und habe das Problem das ich eine komplexe SELECT SQL abfraghe habe die ein paar sekunden dautert

    jetzt möchte ich dem benutzer die möglichkeit geben das ergebniss möglichst schnell zu sortieren ohne die abfrage erneut durchzuführen,
    also schreibe ich das ergebniss in ein array :

    while ($d=mysql_fetch_array($bst[res])){

    $arr['$d[id]'][Vorname]=$d[vname];
    $arr['$d[id]'][Nachname]=$d[nname];
    $arr['$d[id]'][Menge]=$d[lmen];


    }

    jetzt möchte
    dieses nach den zb Vorname sortieren und in tabellenform wieder ausgeben.

    Wäre echt suuper wenn ihr mir jemand weiterhelfen könnte

    Gruß Simon

  • #2
    Re: Mehrdimensionale Arrays

    sieh dir array_multisort() an.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hab ich schon nur leider komm ich damit nicht klar
      bitte nicht böse sein...

      könntest du mir vieleicht einen codeschnitzel hinterlassen
      wäre dir echt dankbar

      Kommentar


      • #4
        Scheinbar schaft es keiner mir hier eine antwort zu geben !

        Kommentar


        • #5
          also wenn schon, dann hat der erste "codeschnitzel" ja wohl von dir zu kommen - ganz ohne ansatz deinerseits weiterzuhelfen, hat wohl keiner lust.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Ich glaube ich kenn niemanden, der den Zweck von array_multisort kapiert hat. Ich mach das immer so: (Codeschnipsel > Liste nach bestimmter Spalte sortieren)

            In deinem Fall zum Bleistift:
            $sortcolumns = array('Nachname', 'Vorname');
            oder
            $sortcolumns = '#-Menge';
            und dann
            uksort ($arr, 'colcmp');
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              Danke Titus
              habs gesehen und kapiert )

              hab aber noch eine echt geile funktion gefunden bei der man beliebig
              viele sortierargumente angeben kann:

              coded by Ichier2003
              PHP-Code:
              function array_csort() {  
                  
              $args func_get_args();
                  
              $marray array_shift($args);

                  
              $msortline "return(array_multisort(";
                  foreach (
              $args as $arg) {
                      
              $i++;
                      if (
              is_string($arg)) {
                          foreach (
              $marray as $row) {
                              
              $sortarr[$i][] = $row[$arg];
                          }
                      } else {
                          
              $sortarr[$i] = $arg;
                      }
                      
              $msortline .= "\$sortarr[".$i."],";
                  }
                  
              $msortline .= "\$marray));";

                  eval(
              $msortline);
                  return 
              $marray;
              }
               
              $array[0]['name'] = "Niko";
              $array[0]['age'] = 24;
              $array[0]['town'] = "Berlin";
              $array[1]['name'] = "Dennis";
              $array[1]['age'] = 34;
              $array[1]['town'] = "Berlin";
              $array[2]['name'] = "Oliver";
              $array[2]['age'] = 44;
              $array[2]['town'] = "Aachen";
              $array[3]['name'] = "Andi";
              $array[3]['age'] = 34;
              $array[3]['town'] = "Berlin";

              $array array_csort($array,'town','age',SORT_DESC,'name');

              here the resulting array would be
              $array[0]['name'] = "Oliver";
              $array[0]['age'] = 44;
              $array[0]['town'] = "Aachen";
              $array[1]['name'] = "Andi";
              $array[1]['age'] = 34;
              $array[1]['town'] = "Berlin";
              $array[2]['name'] = "Dennis";
              $array[2]['age'] = 34;
              $array[2]['town'] = "Berlin";
              $array[3]['name'] = "Niko";
              $array[3]['age'] = 24;
              $array[3]['town'] = "Berlin"

              Kommentar

              Lädt...
              X