vorigen und nächsten datensatz

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • vorigen und nächsten datensatz

    hallo!

    im prinzip wär es so ähnlich wie blättern nur ist bei mir die ID durcheinander wegen der tabellensortierung, die alphabetisch ist.

    tabelle:
    ID - Text
    4 - festplatten
    3 - netzwerk
    6 - mainboard
    1 - speicher

    wenn ich jetzt zb. auf den datensatz mit der ID 3 wähle, wie bekomm ich es hin das er mir sagt das der datensatz darüber ID 4 hat. bzw der darunter 6(bei eben der alphabetischen sortierung)??

    habs mir schon mit limit überlegt aber da komm ich höchstens an den datensatz danach und nicht an den davor.

  • #2
    Re: vorigen und nächsten datensatz

    LIMIT hat 2 Parameter mach was damit, außerdem die Reihenfolge der Datensätze ist von der Sortierung abhängig, d.h. wenn du immer nach der gleichen Spalte sortierst, kannst du sicher davon ausgehen, dass die Reihenfolge immer gleich bleibt, es sei denn es wurde zwischendurch neue Datensätze hinzugefügt.

    Comment


    • #3
      die sortierung bleibt immer gleich aber es können immer wieder datensätze gelöscht bzw hinzugefügt werden.
      tja LIMIT hat zwar zwei parameter aber man kann damit nur in eine richtung arbeiten. wenn ich jetzt beim datensatz mit ID 3 ausgehe komm ich so nicht auf den datensatz davor mit ID 4.

      Comment


      • #4
        Moin,

        ganz anderer, evt. leicherer Ansatz:

        Wenn Deine Tabelle so übersichtlich bleibt wie von Dir geschrieben (4 Einträge?!), dann ergänze doch einfach ein weiteres Feld namens Reihenfolge.

        Das müsste natülrich manuell von Dir gepflegt werden, aber dann wäre es ein Kinderspiel Vorgänger und Nachfolger herauszufinden.

        Gruß,
        Dennis

        Comment


        • #5
          Alternativ solltest Du auch mit LIMIT weiter kommen,
          dazu müsstest Du nur die Position kennen, was ja auch nicht so schwer ist.

          Du bist hier:
          SELECT.........LIMIT x,1

          Vorgänger:
          SELECT.........LIMIT x-1,1

          Nachfolger:
          SELECT.........LIMIT x+1,1

          Comment

          Working...
          X