TS: mySQL: Jede n-te Position bereitstellen

Beitrag lesen

Hello Linuchs,

wenn ich von 200 Positionen die ersten 10 mit Datum lese, dann gibt es 9 Folgeseiten, die ich z.Z. verlinke als Aufzählung 2 3 4 5 6 7 8 9 10

Ich rechne da, dass es 19 Folgeseiten geben müsste ;-P

Ich kann Dir nur sagen, wie ich das seit jeher mache:

  • Ich habe einen Index auf "Datum", "ID". Dieser Kombinationsschlüssel ist dafür gut, dass ich mit Duplicates arbeiten kann. Es könnten ja an einem Datum mehrere Eintragungen vorliegen.

  • Dann hole ich kackfrech die Spalten Datum und ID der (bei Dir) 200 nächsten Datensätze in mein PHP-Array

  • Daraus kann ich dann die Aufsetzpunkte in SQL wieder leicht bestimmen "where datum >= '$datum' and ID > $id"

  • Die Anzeige einer Unterliste von dort aus geht es dann mit Limit, wenn sie erforderlich ist.

Das setzt voraus, dass ID autoincrement ist und auch brav automatisch hochgezählt wird. Ich kenne die Diskussion dazu, habe aber in der Praxis noch nie Probleme damit gehabt.

In dynamischen Datenbeständen ist aber zu beachten, dass inzwischen Datensätze aus den Bereichen gelöscht worden, oder welche eingefügt worden sein können (blöder Satz, wie gehts besser?)

Mit Subqueries und/oder Benutzervaroablen habe ich es am Anfang auch versucht. Das ist erfahrungsgemäß sehr viel energiefressender (dauert länger).

Liebe Grüße
Tom S.

--
Die Krawatte ist das Kopftuch des Westens )