Ich möchte Datensätze aus einer Datenbank in 25er-Blöcken ausgeben, sprich: Die ersten 25 auf einer Webseite, die zweiten 25 auf einer zweiten Webseite, usw.
Ich arbeite dazu mit den Variablen $start und $ende, die in Abhängigkeit von der Webseite die Nummer des ersten anzuzeigenden und des ersten schon nicht mehr anzuzeigenden Datensatzes darstellen. Auf der ersten Seite ist $start dann 0 und $ende ist 25, auf der zweiten Seite 25 und 50, usw. Das funktioniert soweit auch alles.
Mein Code sieht vereinfacht wie folgt aus:
Nun bin ich davon ausgegangen, dass ich - so ich den ausgelesenen Array mittels ORDER BY nach titel sortiere - immer die gleiche Reihenfolge erhalte und wie geschildert immer die entsprechenden 25er-Blöcke herauspicken kann. Geht aber irgendwie nicht: Die ersten 25 erscheinen korrekt, bei den zweiten 25 erscheinen dann aber u.a. auch wieder welche, die bereits auf der ersten Seite gestanden haben. Woran liegt das bzw. was mache ich falsch? Oder kann man das so gar nicht machen?
Ich arbeite dazu mit den Variablen $start und $ende, die in Abhängigkeit von der Webseite die Nummer des ersten anzuzeigenden und des ersten schon nicht mehr anzuzeigenden Datensatzes darstellen. Auf der ersten Seite ist $start dann 0 und $ende ist 25, auf der zweiten Seite 25 und 50, usw. Das funktioniert soweit auch alles.
Mein Code sieht vereinfacht wie folgt aus:
PHP:
$query = mysql_query("SELECT * FROM xyz WHERE x='$x' ORDER BY substring(titel,1,100)");
for($i=0; $i<$ende; $i++){
if ($i >= $start) {
// HTML-Tags
$data = mysql_fetch_array($query);
// HTML-Tags
} else {
$data = mysql_fetch_array($query);
}
}
Nun bin ich davon ausgegangen, dass ich - so ich den ausgelesenen Array mittels ORDER BY nach titel sortiere - immer die gleiche Reihenfolge erhalte und wie geschildert immer die entsprechenden 25er-Blöcke herauspicken kann. Geht aber irgendwie nicht: Die ersten 25 erscheinen korrekt, bei den zweiten 25 erscheinen dann aber u.a. auch wieder welche, die bereits auf der ersten Seite gestanden haben. Woran liegt das bzw. was mache ich falsch? Oder kann man das so gar nicht machen?