Ankündigung

Einklappen
Keine Ankündigung bisher.

Sortieren "ORDER BY" ??

Einklappen

Neue Werbung 2019

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

  • Sortieren "ORDER BY" ??

    hallo

    ich möchte mehrere sachen aufsteigend und absteigen sortieren aber wie?

    hier ein kleiner ausschmit aus mein scrip:

    PHP-Code:
    <?php
    $sortieren 
    $_POST['sor'];

    ?>
    hier werden einmal Name, Alter übergeben und sollen sortiert werden.

    PHP-Code:
    <?php
    ORDER BY 
    '$sortieren' ASC

    ?>
    das problem ist ich möchte Name nach aufsteigend sortieren und alter nach absteigend, aber wie?


  • #2
    ORDER BY name ASC,alter DESC

    Kommentar


    • #3
      das problem ist der Name und Alter wird per $_POST an mein php scrip übergeben. Deswegen kann ich nicht einfach den Namen und Alter reinschreiben

      Kommentar


      • #4
        Ja und? Wichtig ist nur, dass so eine Zeichenkette beim Mysqlserver ankommt. Wie die in PHP zustande kommt, ist egal. Setz sie halt aus Einzelteilen zusammen.

        Kommentar


        • #5
          aus einzelteile kling gut, nur was ist wenn einer möchte die Personen nach Namen sortiert haben und gleichzeitig anderer möchte es nach alter sortiert haben. Wie funktioniert das?

          ich habe leider noch nicht viel erfahrung damit

          Kommentar


          • #6
            und gleichzeitig anderer möchte es nach alter sortiert haben
            Sind damit zwei verschiedene Anfragen gemeint? Die haben dann doch nichts miteinander zu tun.

            Kommentar


            • #7
              ja das sind 2 verschiedene anfragen

              Kommentar


              • #8
                Dann sind das auch zwei getrennte Anfragen an den Mysql Server. Die haben (bis auf die gemeinsame Datenbasis) nichts miteinander zu tun.
                Was genau ist jetzt das Problem?

                Kommentar


                • #9
                  angenomen ich schreibe das so:

                  ORDER BY name ASC,alter DESC

                  woher weist meine DB, nach was möchte die Person jetzt sortiert haben?

                  Nach name, oder nach alter ??

                  Weil die auswhl soll entweder nach namen oder nach alter sortiert werden

                  Kommentar


                  • #10
                    ORDER BY name ASC,alter DESC
                    Aufsteigend nach name sortieren. Haben zwei Datensätze den selben Wert in name, dann diese untereinander nach alter sortieren.
                    Es ist eine Sortierung und ein Ergebnis für eine Anfrage eines Benutzers.

                    Zwei voneinander unabhängige Benutzer lösen auch zwei unabhängige Anfragen aus - da kommt kein ORDER BY name ASC,alter DESC bei raus

                    Kommentar


                    • #11
                      eventuell meinst etwas in dieser Art:
                      Code:
                      if (!empty($_POST['sor'])) {
                      
                         if($_POST['sor'] == 'Name') {
                            $sortieren = ' Name ASC ';
                         }
                         else {
                            $sortieren = ' Alter DESC ';
                         }
                      }
                      else {
                         $sortieren = ' id ';
                      }
                      
                      // Und dann die Abfrage wie folgt zusammenbauen:
                      
                      $abfrage = "SELECT id, * FROM tabelle ... ORDER BY $sortieren";
                      
                      // ... Und die Abfrage zur Kontrolle mal anschauen:
                      
                      echo "<hr> $abfrage <hr>";
                      ~dilemma~

                      Kommentar


                      • #12
                        Zitat von dilemma
                        eventuell meinst etwas in dieser Art:
                        Code:
                        if (!empty($_POST['sor'])) {
                        
                           if($_POST['sor'] == 'Name') {
                              $sortieren = ' Name ASC ';
                           }
                           else {
                              $sortieren = ' Alter DESC ';
                           }
                        }
                        else {
                           $sortieren = ' id ';
                        }
                        
                        // Und dann die Abfrage wie folgt zusammenbauen:
                        
                        $abfrage = "SELECT id, * FROM tabelle ... ORDER BY $sortieren";
                        
                        // ... Und die Abfrage zur Kontrolle mal anschauen:
                        
                        echo "<hr> $abfrage <hr>";
                        ~dilemma~
                        genau das meine ich

                        Danke euch

                        Kommentar

                        Lädt...
                        X