Afficher x éléments par page

Fermé
tomy2904 Messages postés 324 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 20 avril 2013 - 25 avril 2012 à 19:02
tomy2904 Messages postés 324 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 20 avril 2013 - 25 avril 2012 à 20:35
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 25/04/2012 à 20:17
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
25 avril 2012 à 19:13
fais une recherche "pagination php"
0
tomy2904 Messages postés 324 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 20 avril 2013 29
25 avril 2012 à 19:14
Merci je vais rechercher ça tout de suite
0
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 mardi 8 avril 2008 Statut Membre Dernière intervention 20 avril 2013 29
25 avril 2012 à 20:35
Merci beaucoup!
0