Ankündigung

Einklappen
Keine Ankündigung bisher.

Array nach bestimmtem Wert sortieren

Einklappen

Neue Werbung 2019

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

  • Array nach bestimmtem Wert sortieren

    Hey,
    habe ein Array das ich so befülle:

    PHP-Code:
    $users[] = Array(
    "id" => $row['id'],                    
    "username" => $row['username'],                
    "email" => $row['email']                
    ); 
    Nun gebe ich das mit foreach tabellenartig aus :

    Benutzer Email (>Tabellen Überschrift)
    Benutzer1 Email1
    Benutzer2 Email2

    beim klick auf die Tabellenüberschrift soll es entweder nach Benutzer oder nach Email sortiert werden.

    Wie kann ich das machen?

  • #2
    Woran genau hakts? Die Frage ist zu allgemein. "Wie kann ich das machen" gehört nicht in dieses Forum!
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Bisschen googlen würde helfen

      http://de3.php.net/manual/en/functio...-multisort.php

      Mfg,
      MasterD

      Kommentar


      • #4
        Hey,
        ich habe gegoogelt ...
        Aber wo gebe ich in dieser Funktion an wer die Ordnung vorgibt (Also Benutzer oder Email) ?
        Das wie mache ich das bezog sich auf diese Frage und auf die Frage:
        was die beste möglichkeit ist es umzusetzen also z.B.:
        Link mit Get Parameter also datei.php?order=benutzer und dann die Funktion zum Sortieren nach Benutzer aufgerufen wird oder wie würdet ihr das machen?

        Kommentar


        • #5
          So läuft das hier nicht. Du präsentierst Deinen Ansatz und wir können den dan diskutieren. Komplettlösungen gibts hier nicht. Nur ein Array ist einfach zu wenig.
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #6
            Ich kann hierzu nur auf das 3. Bsp. aus der Manual verweisen. Hatte mir damals auch geholfen.

            PHP-Code:
            <?php
            // Obtain a list of columns
            foreach ($data as $key => $row) {
                
            $volume[$key]  = $row['volume'];
                
            $edition[$key] = $row['edition'];
            }

            // Sort the data with volume descending, edition ascending
            // Add $data as the last parameter, to sort by the common key
            array_multisort($volumeSORT_DESC$editionSORT_ASC$data);
            ?>
            Zuerst kommt das zu sortierende Array, danach ein Flag, wie es zu sortieren ist, nach dem Array, das danach kommt. Jedoch muss dies erstmal aus dem Array rausgefiltert werden, was zuvor geschieht.

            Jetzt kannste noch ein bisschen drum herum basteln

            Kommentar


            • #7
              Hey,
              also so:

              PHP-Code:
              foreach ( $users as $user 

              $username[] = $user['username']; 
              }                
              array_multisort$usernameSORT_ASC$users ); 
              Bei der Ausgabe werden Großbuchstaben vor Kleinbuchstaben ausgegeben um das zu umgehen diesen Code benutzen
              (falls mal irgenjemand das selbe Problem hat)

              PHP-Code:
              foreach ( $users as $user ) { 
              $username[] = $user['username']; 
              $username_lowercase array_map('strtolower'$username);


              array_multisort$username_lowercaseSORT_ASC$users ); 
              @MasterD - danke für deine Hilfe

              Kommentar

              Lädt...
              X