sortierung

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

  • sortierung

    guten morgen.
    ich stelle auf meiner seite immer die drei letzten berichte vor. jetzt ist der bericht mit der ID 160 so gut, dass er für eine zeit "bevorzugt oben" stehen soll; also sich auch nachfolgende ihm immer unterordnen sollen.

    wie mach ich das?
    PHP-Code:
    select id from tberichte where aktiv=1 ORDER BY ID 
    besten dank

  • #2
    Indem du der Tabelle ein weiteres Feld hinzufügst, welches den Bericht markiert, der als allererstes angezeigt werden soll. Nehmen wir als Beispiel das Feld "punchline" mit dem Typ tinyint(1). Der Wert "1" besagt, dass es der "tolle" Artikel ist, andernfalls hat das Feld den Wert 0.

    Dann kannst du dir deine Artikel so holen:

    SELECT id FROM tberichte WHERE aktiv = 1 ORDER BY punchline DESC, id DESC LIMIT 0,3

    (Wobei ich ehrlich gesagt eher nach Datum statt nach ID sortieren würde. Und ich hoffe, du holst dir anhand der IDs nicht mit einem weiteren Query den Inhalt ... )
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      oder auch einfacher indem man so sortiert:

      PHP-Code:
      SELECT id FROM tberichte WHERE aktiv=1 ORDER BY
       
      CASE id WHEN 160 THEN 1 ELSE 0 END DESC,
       
      id 

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        danke.
        ID 160 steht jetzt oben, leider gefolgt von ID 1, 2 und 3....

        ORDER BY CASE ID WHEN 164 THEN 1 ELSE 0 END DESC,ID LIMIT 0,4

        wie krieg ich denn hin, dass 165, 166 u. 167 angezeigt werden???

        danke.

        Kommentar


        • #5
          ORDER BY CASE ID WHEN 164 THEN 1 ELSE 0 END DESC,ID DESC LIMIT 0,4
          ich glaube

          Kommentar

          Lädt...
          X