sockä Geschrieben 16. Januar 2006 Teilen Geschrieben 16. Januar 2006 Hallo, ich möchte durch die Datensätze einer Datenbank mittels "next", "previous", "last" und "first" - Links navigieren. Also "next" und "previous" sollen immer den vorherigen bzw. nächsten Datensatz anzeigen und "last" und "first" halt den letzten und ersten. "Last" und "First" habe ich auch schon so gelöst: select MIN(ID) from myTable; select MAX(ID) from myTable; ... aber an "next" und "previous" hapert es gerade... denn wenn ich einfach z.B. ID++; machen würde dann würde ich einen Fehler geben wenn es diese ID nicht gibt... es gibt ja sowas wie ID 1,2,4,5,6 etc. (wenn mal was gelöscht wurde). Gibt es dafür schon eine schnelle, einfache Lösung per SQL und ich sehe sie gerade nicht... oder wie geht das sonst? Bin für jede "Erleuchtung" dankbar Viele Grüße! ps. Datenbank is mysql. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 16. Januar 2006 Teilen Geschrieben 16. Januar 2006 vielleicht versteh ich jetzt irgendwas falsch, aber wieso arbeitest du nicht mit LIMIT? s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whatever Geschrieben 16. Januar 2006 Teilen Geschrieben 16. Januar 2006 //Nächster $query = "SELECT * FROM tbl WHERE ID > '$aktulle_ID' LIMIT 1"; //Vorheriger $query = "SELECT * FROM tbl WHERE ID < 'aktuelle_ID' LIMIT 1"; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 16. Januar 2006 Teilen Geschrieben 16. Januar 2006 $query = "SELECT * FROM tbl LIMIT ". $limit .", ". $rows_per_page; [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sockä Geschrieben 16. Januar 2006 Autor Teilen Geschrieben 16. Januar 2006 //Nächster $query = "SELECT * FROM tbl WHERE ID > '$aktulle_ID' LIMIT 1"; //Vorheriger $query = "SELECT * FROM tbl WHERE ID < 'aktuelle_ID' LIMIT 1"; Oh, si, das ist es ja *freu* Da habe ich mich ja wieder in was verrannt... dabei ist es (mal wieder) so einfach... dankeschön dafür )))) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 16. Januar 2006 Teilen Geschrieben 16. Januar 2006 //Nächster $query = "SELECT * FROM tbl WHERE ID > '$aktulle_ID' LIMIT 1"; //Vorheriger $query = "SELECT * FROM tbl WHERE ID < 'aktuelle_ID' LIMIT 1"; ... wird aber ohne ein passendes ORDER BY nicht immer funktionieren. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sockä Geschrieben 17. Januar 2006 Autor Teilen Geschrieben 17. Januar 2006 Hier nochmal der komplette Code, mit ORDER BY und in umgekehrter Reihenfolge beim Zurück-Blättern ... falls es noch mal jemanden in Zukunft interessiert SELECT ID FROM tbl WHERE ID < akt_ID ORDER BY ID DESC LIMIT 1 // zurück SELECT ID FROM tbl WHERE ID > akt_ID ORDER BY ID LIMIT 1 // vor Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.