Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] spalten sortieren

Einklappen

Neue Werbung 2019

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

  • [Erledigt] spalten sortieren

    hallo,
    wie kann ich spalten nach auf- oder absteigend sortieren?

    PHP-Code:

    $str_ausgabe_tabelle
    .='
    <tr>
        <td style="width:200px;font-weight:bold;">Name, Vorname</td>
        <td style="width:250px;font-weight:bold;">
            Anzahl der Verwendungen in Neuigkeiten
            <a href=""><img src="aufsteigend.png" alt="aufsteigend"></a>
            <a href=""><img src="absteigend.png" alt="absteigend"></a>
        </td>
        <td style="width:200px;font-weight:bold;">
            Haupt-Attribut Person?
            <img src="aufsteigend.png" alt="aufsteigend">
            <img src="absteigend.png" alt="absteigend">
        </td>
        <td style="width:130px;font-weight:bold;">
            Teaser Bild?
            <img src="aufsteigend.png" alt="aufsteigend">
            <img src="absteigend.png" alt="absteigend">
        </td>
        <td style="width:130px;font-weight:bold;">
            Portrait?
            <img src="aufsteigend.png" alt="aufsteigend">
            <img src="absteigend.png" alt="absteigend">
        </td>
    </tr>'
    ;

    $personen_daten array_merge($personen_nichts$personen_portrait$personen_teaser$personen_alles); 
    in der db abfrage kann ich nichts machen mit ASC/DESC, weil die daten alle in ein array gespeichert sind.

    danke im voraus!

    marcel

  • #2
    wenn die Daten aus der DB kommen, kann man das direkt im SQL machen (MySQL: ORDER BY spalte ASC/DESC);
    Wenns nur im PHP-Teil geht dann gibt es folgenden Methoden, die dir da helfen könnten:
    PHP: krsort - Manual
    PHP: ksort - Manual
    PHP: sort - Manual

    Hier musst du eine eigene Sortier-Funktion implementieren:
    PHP: uasort - Manual
    PHP: uksort - Manual
    PHP: usort - Manual

    Des weiteren: Geile Aufgabenstellung, Ohne weitere Beschreibung, kann und ich will ich dir auch nicht weiter helfen!
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      Bzw. eine Tabellenklasse für jQuery/JavaScript benutzen

      MfG

      Kommentar


      • #4
        Bzw. eine Tabellenklasse für jQuery/JavaScript benutzen
        ich kann das aber nicht. im php teil soll das sortiert werden. die daten werden alle in ein array geschrieben. habe gehört, das man noch ein weiteres array anlegen soll für die einzelnen spalten

        Kommentar


        • #5
          ÄHm, du kannst das nicht? Hast es doch noch nicht mal probiert! Eine JavaScript Klasse einzubinden ist wirklich nicht schwierig und lässt sich leicht über goole finden!

          Wolf29
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            möchte ich aber nicht mit javascript machen.

            hab euch mal alle dateien mal zur verfügung gestellt, was man dazu braucht.

            und nach den pfeilen sollte man dann sortieren können wie hier: KLE-Point - Ihr regionales Onlineportal für den Kreis Kleve

            der aktive pfeil sollte dann auch dunkelblau erscheinen wie die bild datei mit "aktiv" hinten dran.

            danke.
            Angehängte Dateien

            Kommentar


            • #7
              Tja, dann ist die Antwort von Paul.Schramenko deine Antwort, die Dir weiterhelfen sollte!

              Wolf29
              while (!asleep()) sheep++;

              Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

              Kommentar


              • #8
                Tja, dann ist die Antwort von Paul.Schramenko deine Antwort, die Dir weiterhelfen sollte!
                habe ich ja probiert, aber es hat nicht geklappt. sonst würde ich das iding ja nicht zum herunterladen frei geben.

                Kommentar


                • #9
                  Dann poste dein bisherigen Versuch und wir helfen Dir weiter. Was komplett fertig machen wird Dir hier wohl keiner, aber bei Fehlern können wir Dich darauf hinweisen und/oder Hilfestellung geben!

                  wolf29
                  while (!asleep()) sheep++;

                  Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                  Kommentar


                  • #10
                    Also ganz ehrlich, hier wird dir keiner deine Arbeit abnehmen!
                    Wenn du jemanden suchst, der das für dich programmiert dann solltest du hier mal vorbei schauen: Scriptbörse - php.de
                    Und deine Dateien durch zu sehen habe ich auch nicht, vorallem, da kann 80kB Code sind.
                    Probiers selbst kannst ja die Links anschauen, die ich gepostet habe und wenn es nicht klappt, kannst du deinen Ansatz posten und dir wird sicherlich gerne geholfen in diesem Forum.
                    "My software never has bugs, it just develops random features."
                    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                    Kommentar


                    • #11
                      Zitat von Dintar1989 Beitrag anzeigen
                      in der db abfrage kann ich nichts machen mit ASC/DESC, weil die daten alle in ein array gespeichert sind.
                      Zitat von Dintar1989 Beitrag anzeigen
                      ich kann das aber nicht.
                      Zitat von Dintar1989 Beitrag anzeigen
                      habe ich ja probiert, aber es hat nicht geklappt.
                      Zitat von Dintar1989 Beitrag anzeigen
                      möchte ich aber nicht mit javascript machen
                      Hört sich stark nach "Macht mal für mich" an.

                      Zum 1. Zitat sei allerdings dazu gesagt, dass die Daten natürlich in einem Array vorliegen. Vorher kommen sie allerdings aus der Datenbank. Es hindert dich also nichts daran, mit ORDER BY zu arbeiten. Einfach die notwendigen Sortierparameter per GET übergeben, mit auswerten und fertig.
                      [I]Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)[/I]
                      [I]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/I]

                      Kommentar


                      • #12
                        [MOD: verschoben]
                        [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


                        • #13
                          habe es jetzt ein bisschen anders gemacht mit den links:

                          PHP-Code:
                          $str_ausgabe_tabelle.='
                          <tr>
                              <td style="width:200px;font-weight:bold;">Name, Vorname</td>
                              <td style="width:250px;font-weight:bold;">
                                  Anzahl der Verwendungen in Neuigkeiten
                                  <a href="schlagworte_personen.php?spalte=1&sortierung=aufsteigend">'
                          ;
                                  
                          // Spalte 1 aufsteigend
                                  
                          if($_GET['spalte'] != '1' || $_GET['sortierung'] != 'aufsteigend')
                                  {
                                      
                          $str_ausgabe_tabelle.='<img src="aufsteigend.png" alt="aufsteigend"></a>';
                                  }
                                  else
                                  {
                                      
                          $str_ausgabe_tabelle.='<img src="aufsteigend_aktiv.png" alt="aufsteigend_aktiv"></a>';
                                  }
                              
                          $str_ausgabe_tabelle.='<a href="schlagworte_personen.php?spalte=1&sortierung=absteigend">';
                                  
                          // Spalte 1 absteigend
                                  
                          if($_GET['spalte'] != '1' || $_GET['sortierung'] != 'absteigend')
                                  {
                                      
                          $str_ausgabe_tabelle.='<img src="absteigend.png" alt="absteigend"></a>';
                                  }
                                  else
                                  {
                                      
                          $str_ausgabe_tabelle.='<img src="absteigend_aktiv.png" alt="absteigend_aktiv"></a>';
                                  } 
                          das habe ich dann für 4 spalten gemacht

                          im folgenden möchte ich diese dann sortieren
                          PHP-Code:

                          $array_anzahl 
                          = array();
                          $array_hauptattribut = array();
                          $array_teaser = array();
                          $array_portrait = array();

                          // jetzt muss ich die werte i-wie zuweisen, aber das klappt nicht

                          // aufsteigend sortieren
                              
                          if(isset($_GET['sortierung']))
                              {
                                  if(
                          $_GET['sortierung'] == "aufsteigend" && $_GET['spalte'] == '1')
                                  {
                                      
                          sort($array_anzahl);
                                  }
                                  elseif(
                          $_GET['sortierung'] == "aufsteigend" && $_GET['spalte'] == '2')
                                  {
                                      
                          sort($array_hauptattribut);
                                  }
                                  elseif(
                          $_GET['sortierung'] == "aufsteigend" && $_GET['spalte'] == '3')
                                  {
                                      
                          sort($array_teaser);
                                  }
                                  elseif(
                          $_GET['sortierung'] == "aufsteigend" && $_GET['spalte'] == '4')
                                  {
                                      
                          sort($array_portrait);
                                  }
                                  else
                                  {
                                      
                          // keine Aktion
                                  
                          }
                              } 

                          Kommentar


                          • #14
                            Man liest nicht eine Tabelle in ein PHP-Array ein um das dann nachträglich zu sortieren. Mach das in MySql mit ORDER BY.

                            Wenn jemand auf den Link "name" klickt, dann schließt du die Query ab mit ORDER BY name ASC bzw. ORDER BY NAME DESC und gibst dann die Daten direkt aus der Tabelle aus. Klickt jemand eine andere Sortierung an, dann kommt halt ORDER BY plz ASC oder ORDER BY plz DESC usw.
                            [PHP]if ($var != 0) {
                            $var = 0;
                            }[/PHP]

                            Kommentar

                            Lädt...
                            X