Hi!
Nun kann ein User die Tabelle über eine Website durchlaufen, dafür klickt er weiter, erscheint der nächste Datensatz, gesteuert über die nächstgrößte id.
Die ID ist üblicherweise weder für eine Blätterfunktion noch für eine Sortierung ein geeignetes Kriterium. MySQL bietet für das gezielte Ansprechen anhand von Position in einer sortierten Ergebnismenge die LIMIT-Klausel an. Die zählt auch dann lückenlos, wenn beispielsweise durch eine WHERE-Klausel nur wenige Datensätze selektiert wurden.
Nun möchte ich weitere Funktionen für die Tabelle bereitstellen z.B automatisches erneutes Durchlaufen beim Ende der Tabelle.
Die angeforderte Position ist größer als die Anzahl der Datensätze. Letztere zu ermitteln gibt es COUNT(*) oder SQL_CALC_FOUND_ROWS/FOUND_ROWS(). Das kannst du als Entscheidung nehmen, wieder von vorn anzufangen. Du kannst natürlich auch vorher schauen, ob bei der Berechnung deines Vorwärts-Links die Positionsnummer größer als die Anzahl wird.
Außerdem soll der user die Möglichkeit haben bestimmte Datensätze in andere Tabellen zu verschieben. Nur fehlt dann die id beim nächsten Durchlauf.
Das ist bei LIMIT egal. Gegebenenfalls stimmt dann nur die Position nicht mehr, wenn du Datensätze quasi "unterm Pops weg klaust".
Lo!