Zoals je al geraden hebt, moet je de
Het accepteert twee waarden (citaat) :
- de offset van de eerste rij die moet worden geretourneerd
- het maximale aantal rijen dat moet worden geretourneerd
In jouw geval moet je zoiets als dit gebruiken voor de eerste pagina:
select * from your_table order by ... limit 0, 50
En dan, voor de tweede pagina:
select * from your_table order by ... limit 50, 50
En voor de derde :
select * from your_table order by ... limit 100, 50
En zo verder;-)
Bewerken na de opmerking: om het paginanummer te krijgen, moet u het van uw URL's ontvangen, dat zou er als volgt uitzien:
http://www.example.com/page.php?pagenum=2
Vervolgens berekent u de eerste waarde voor de limiet, :
$offset = 50 * intval($_GET['pagenum']);
En injecteer het in uw zoekopdracht:
select * from your_table order by ... limit $offset, 50
Het maken van URL's naar de verschillende pagina's is nu een kwestie van URL's zoals deze:
http://www.example.com/page.php?pagenum=0
http://www.example.com/page.php?pagenum=1
http://www.example.com/page.php?pagenum=2
...
Als je weet dat je 700 elementen hebt, en 50 per pagina, dan heb je 700/50 pagina's;-)
Dus, zoiets als dit zou de slag moeten slaan:
for ($i=0 ; $i<700/50 ; i++) {
// Use http://www.example.com/page.php?pagenum=$i as URL
}
Natuurlijk is 700 een waarde die waarschijnlijk kan veranderen, en niet hard-coded mag zijn:het moet worden bepaald uit de database, met behulp van een count
vraag :
select count(*) as total
from your_table
...