Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[php] Durch Datensätze navigieren

Empfohlene Antworten

Veröffentlicht

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.

vielleicht versteh ich jetzt irgendwas falsch, aber wieso arbeitest du nicht mit LIMIT?

s'Amstel


//Nächster

$query = "SELECT * FROM tbl WHERE ID > '$aktulle_ID' LIMIT 1";


//Vorheriger

$query = "SELECT * FROM tbl WHERE ID < 'aktuelle_ID' LIMIT 1";


$query = "SELECT * FROM tbl LIMIT ". $limit .", ". $rows_per_page;
[/PHP]


//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 :)))))


//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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.