Ankündigung

Einklappen
Keine Ankündigung bisher.

der nächst größere Timestamp/kleinere Timestamp

Einklappen

Neue Werbung 2019

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

  • der nächst größere Timestamp/kleinere Timestamp

    Hallo,

    ich habe Kommentare in einer DB gespeichert. Diese will ich einzeln ausgeben. Das heißt das immer nur ein Kommentar zu sehen ist. Und mit "vor" und "zurück" (neuer Seitenaufruf) soll dann zu den anderes Kommentar geladen werden. Ich habe bei den Kommentaren einen Timestamp mit gespeichert. Nur weiß ich leider nicht so richtig wie ich den Vorgänger oder Nachfolger rausbekomme!

    "WHERE timstamp > TimestampDesAktuellen" geht hier nicht, da ich ja nicht irgend ein größeres will sondern das zeitlich Nächste.

    Wie muss ich hier rangehen?

    MfG
    Webdesign - optimized for user

  • #2
    Datensätze auf oder absteigend sortieren lassen und ab dem "aktuellen" Datensatz zwei auswählen.
    Funktioniert nicht so einfach, wenn zwei Datensätze den selben Wert im Sortierfeld haben.
    WHERE kennst Du ja schon, ORDER BY und LIMIT musst Du Dir evtl noch anlesen.

    Kommentar


    • #3
      Hallo,

      Zitat von Bruchpilot
      Datensätze auf oder absteigend sortieren lassen und ab dem "aktuellen" Datensatz zwei auswählen.
      Funktioniert nicht so einfach, wenn zwei Datensätze den selben Wert im Sortierfeld haben.
      den Selben Timestamp haben sicher keine Einträge!

      Zitat von Bruchpilot
      WHERE kennst Du ja schon, ORDER BY und LIMIT musst Du Dir evtl noch anlesen.
      Das hilft mit irgendwie nich weiter.

      Ich sage es mal mit meinen Worten:
      Select * From table 'der nächst größere Timestamp/kleinere Timestamp'


      MfG
      Webdesign - optimized for user

      Kommentar


      • #4
        Damit Du den nächst größeren/kleineren Datensatz in einer Reihe bekommst, musst Du erst auf- oder absteigend sortieren
        http://www.google.de/search?&q=sql%2...l%20ORDER%20BY

        Dann die Datensätze wählen, die größergleich/kleinergleich dem aktuellen Datensatz sind. Das ist die WHERE Bedingung

        Dann auf zwei Datensätze einschränken.
        Wonach man da bei google suchen kann, weiss ich nicht.
        http://dev.mysql.com/doc/mysql/de/select.html
        auf der Seite nach LIMIT suchen lassen.

        Das dann in die richrige Reihenfolge bringen
        SELECT - FROM - WHERE - ORBER BY - LIMIT
        und das wäre erledigt.

        Vielleicht ist http://faq-phpfriend.de/q/q-mysql-seitenweise.html besser geeignet. Lies es einfach mit m=1 durch.

        Kommentar


        • #5
          Hallo,

          Habe es jetzt folgendermaßen probiert:

          Code:
          SELECT name,id FROM table WHERE timestamp>'aktTimestamp' ORDER BY timestamp DESC Limit 1
          Jetzt habe ich aber das Problem das er erst aussortiert alle die größer sind als der Timestamp und dann sortiert. Das soll aber anders herum sein! Wie mache ich das?


          MfG
          Webdesign - optimized for user

          Kommentar


          • #6
            Nein, die Sortierung wird schon an der richtigen Stelle ausgelöst.
            Es war für mich nur sorum leichter zu beschreiben. Die sql Syntax sieht zwar eine andere Reihenfolge vor, macht aber genau das.

            Kommentar


            • #7
              Alles klar, jetzt funtioniert es. Danke.

              MfG
              Webdesign - optimized for user

              Kommentar

              Lädt...
              X