Momenteel ben ik bezig me te verdiepen in sql om deze op een site te gebruiken.
Het vullen doe ik nu via een txt of csv file waarbij de velden gescheiden zijn door een komma.
Deze lees ik via phpMyAdmin in en dat werkt.
Nu wil ik op de site per pagina niet meer dat bv 10 dingen (foto's, artikelen, enz) tonen.
Daarna zou je aan de onderkant (evt bovenkant) moeten kunnen kiezen voor de volgende en vorige pagina.

Mijn vraag is hoe ik aangeef dat ik niet meer dan 10 dingen per pagina wil tonen.
In dit voorbeeld zou je er van uit kunnen gaan dat er 25 records in de database zitten.
Je zou dan 3 pagina's moeten kunnen kiezen.
Hoe maak ik het zo dat de volgende pagina doorgaat met het volgende record.

Wie kan mij hier bij helpen.
Alvast bedankt.

SELECT kolommen
FROM tabel
WHERE ...
ORDER BY iets
LIMIT 10 OFFSET 0



SELECT kolommen
FROM tabel
WHERE ...
ORDER BY iets
LIMIT 10 OFFSET 10
Google eens op 'php pagination' en je komt talloze scripts tegen.

Als eerste moet je script natuurlijk kunnen berekenen hoeveel pagina's er zijn. Om dat te kunnen heb je twee gegevens nodig:

1. aantal records in de tabel (25 in jouw voorbeeld)
2. maximaal aantal records per pagina

nummer 1. kun je vinden met:
<?php
$result = mysqli_query($link, 'SELECT COUNT(*) as num FROM tbl_name');
$row = mysqli_fetch_assoc($result);
$records = $row['num'];
?>

aantal pagina's berekenen:
<?php
$maxPerPage = 10;
$pages = (int) $records / $maxPerPage;
$rest = $records % $maxPerPage;
if($rest)
$pages++;

echo 'Maximaal aantal records per pagina: '.$maxPerPage.'<br>';
echo 'Aantal records in database: '.$records .'<br>';
echo 'Aantal pagina\'s: '.$pages .'<br>';
?>
Ivo en Frank,
Dank voor jullie antwoorden.
ik ga het uitproberen.

Reageren