Vous définissez en bas une limite. Pour la première page:
LIMIT 0,100
Deuxième page
LIMIT 100,100
et ainsi de suite.
Lorsque vous allez mettre le lien 'Suivant' sur la page, faites un paramètre $ _GET qui dit start = 100. Ensuite, utilisez ce paramètre start comme première valeur de limite, et ajoutez-y 100 pour obtenir la deuxième valeur.
Ainsi, à la fin il ressemblerait à ceci:
if(empty($_GET['start']))
{
$start = 0;
}
else
{
$start = $_GET['start'];
}
$SQL = "SELECT * FROM TABLE WHERE 1=1 LIMIT ".$start.",100;";
query($sql);
$link = "<a href=\"?start=".$start+100."\">Next</a>";
Si vous voulez développer sur cette plus loin, vous pouvez ajouter un paramètre num. Cela permettrait aux utilisateurs de contrôler le nombre d'enregistrements qu'ils voient. Donc:
if(empty($_GET['start']))
{
$start = 0;
}
else
{
$start = $_GET['start'];
}
if(empty($_GET['num']))
{
$start = 100;
}
else
{
$start = $_GET['num'];
}
$SQL = "SELECT * FROM TABLE WHERE 1=1 LIMIT ".$start.",".$num.";";
query($sql);
$link = "<a href=\"?start=".$start+100."&num=".$num."\">Next</a>";
Bien sûr, vous voudriez sanatize/valider tous ces nombres.
Ce à quoi vous faites référence est appelé pagination, pour référence future. –
Y a-t-il une base de données/dialecte SQL particulière que vous utilisez? Le dialecte serveur/sql détermine généralement comment vous paginez un ensemble de résultats. – jrista