Sortieren von 2 versch. Datensätzen

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

  • Sortieren von 2 versch. Datensätzen

    Hallo,

    ich steh gerade total auf der Leitung...

    Ich hab ne Datenbank in der Kontakte gespeichert sind.
    Geordnet wird standardmäßig nach Nachnamen. Jedoch kann der Benutzer auch einen "angezeigter name" wählen, sprich Kurzname.

    Dann will ich das im Telefonbuch nicht mehr der ganze Name in der Übersicht gezeigt wird, sondern der angegebene Kurzname.

    Jetzt bekomm ich jedoch Probleme mit dem Sortieren, denn es handelt sich ja um 2 Datensätze aus der DB.

    einmal nachname und einmal showname. Wie schaffe ich es nun das er mir alle Datensätze rauswirft, sortiert nach nachnamen & showname. Das Problem ist nämlich das nicht in jedem showname Feld sich Daten befinden.

    Hoffe ich hab das einigermaßen verständlich rübergebracht

  • #2
    sql-statement erweitern durch ORDER BY

    p.s. was du meinst ist ein feld der tabelle, bzw. spalte, und nicht 'datensatz'. datensatz ist eine zeile.

    Kommentar


    • #3
      Hi,

      ja sorry ;-)

      ja, das habe ich ja schon.
      ich versuch mal das ganze klarer zu erklären:

      Name Telefon Mail .....
      ________________________________

      PHP-Code:
      if($row[showname]!='') { 
      echo 
      $row[showname]; 
      } else {
      echo 
      $row[nachname];
      ?> 

      So, gut - jedoch was passiert wenn jetzt der Nachname den Wert "Müller" hat, "showname" jedoch "Chris".
      Dann wird es natürlich trotzdem ausgegeben, jedoch ist dann die ganze sortierung durcheinander, oder? Dann steht unter "M" im Adressbuch der Name "Chris". Passt nicht. Wie kann ich das mit der Sortierung erledigen?

      Kommentar


      • #4
        ja, das habe ich ja schon.
        dann bist du doch schon fast fertig.

        nach namen sortieren: ORDER BY `nachname`
        nach vornamen: ORDER BY `showname`

        wo ist das problem?

        sortieren tut sql, nicht php.

        Kommentar


        • #5
          Hallo,

          am elegantesten kann man das mit der IF Funktion von MySql lösen:


          Code:
          SELECT IF (showname='', nachname, showname) AS name
          FROM kontakte
          ORDER BY name

          Kommentar

          Lädt...
          X