Moin!
wenn bei folgendem Skript die Summe aller Datensätze durch die Anzahl der Einträge ($anzahl_eintraege = 5;) geteilt wird und das Ergebniss eine ganze Zahl ist, dann schießt die generierte Liste über den letzten Eintag hinaus. Wie kann ich das korrigieren?
Das Problem ist: Du erhälst durch dein LIMIT immer nur maximal soviele Einträge, wie du ausgeben kannst. Wenn also 5 Einträge gefunden werden, kriegst du sie auch - erfährt aber nicht, ob noch Nummer 6 existiert.
Lösung: Laß dir durch LIMIT immer einen Eintrag mehr SELECTieren, als du ausgeben willst. Wenn tatsächlich nur noch 5 Einträge vorhanden sind, kriegst du auch nur 5, und brauchst keinen Link zur nächsten Seite zu erstellen. Wenn hingegen noch mindestens ein folgender Eintrag erscheint, kriegst du 6 Ergebnisse und kannst entsprechend reagieren. Nur darf der letzte Eintrag natürlich noch nicht ausgegeben werden, sondern wird erst auf der nächsten Seite angezeigt.
- Sven Rautenberg