Afficher x éléments par page

tomy2904 Messages postés 324 Date d'inscription   Statut Membre Dernière intervention   -  
tomy2904 Messages postés 324 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'aimerais savoir comment afficher par exemple maximum 5 éléments par page et mettre un bouton suivant pour afficher les 5 prochains éléments sur une page HTML.
Si vous avez des tutos ou quoi ça serait très gentil car je cherche mais je ne trouve pas :/

Merci!


A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Ater cela s'appelle pinayer sur les mots, mais en tapant "pagination php" on tombe bien sur les sites qui traitent de:

Créer un système de pagination automatique en PHP
https://antoine-herault.developpez.com/tutoriels/php/pagination-automatique-en-php/
1
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
fais une recherche "pagination php"
0
tomy2904 Messages postés 324 Date d'inscription   Statut Membre Dernière intervention   31
 
Merci je vais rechercher ça tout de suite
0
Atrer
 
ou région répétées(la pagination c'est pour les livres et autres documents pas pour les sites web).

Sans aller au tuto où je n'ai pas sur la main vous pouvez simplement utiliser la fonction SQL LIMIT.

exemple: SELECT * from table WHERE clause ORDER BY date ASC LIMIT 1,5
Donc vous aurez 5 premiers résultats dans l'ordre du champ date(cela marche avec tout les champs).
Donc page suivante(la même page les bornes du LIMIT peuvent être des variables php bien sûr)

SELECT * from table WHERE clause ORDER BY date ASC LIMIT 6,10
pour les 5 prochains résultats.

Votre bouton précédent suivant peut être un formulaire où vous envoyez les bornes de la limite par exemple en GET:
<form method='GET'>
<input type='hidden' name='limite' value='<?php echo $alimite; ?>'
<input type='submit' value='suivant'>
</form>

et donc au traitement:
if (isset($_GET['limite'])){
$limite_mini=$_GET['limite']+1;
$limite_max=$limite_mini+5;
// bien sûr si la valeur 5 est fixe vous pouvez utilisez une constante
// si la valeur 5(nombre d'affichage par page) peut être modifié utilisez un autre formulaire et une
//variable, comme quand vous avez un choix: "Afficher 'n' résultat par page"
}else{
$limite_mini=1;
$limite_max=$limite_mini+5;
}

La requête est donc:
$requete="SELECT * from table WHERE clause ORDER BY date ASC LIMIT ".$limit_min.", ".$limit_max;

Bien sûr pour le bouton précédent il faut faire l'inverse, vous pouvez soit nommer la variable passé dans le formulaire différemment(pour page précédente et page suivante) soit passer une autre variable pour indiquer dans quel sens vous naviguez(précédent/suivant).

Vous aurez aussi besoin de compter l'ensemble dez enregistrements concernés pour connaître quand afficher ou pas le bouton précédent et suivant.


J'espère être clair sinon tester et demander des précisions le cas échéant.
0
tomy2904 Messages postés 324 Date d'inscription   Statut Membre Dernière intervention   31
 
Merci beaucoup!
0