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
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
A voir également:
- Afficher x éléments par page
- Supprimer une page word - Guide
- Afficher google en page d'accueil - Guide
- Traduire une page - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Word numéro de page 1/2 - Guide
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
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/
Créer un système de pagination automatique en PHP
https://antoine-herault.developpez.com/tutoriels/php/pagination-automatique-en-php/
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
25 avril 2012 à 19:13
fais une recherche "pagination php"
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
25 avril 2012 à 19:14
Merci je vais rechercher ça tout de suite
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.
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.
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
25 avril 2012 à 20:35
Merci beaucoup!