Pagination php
Résolu/Fermé
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
-
28 janv. 2013 à 15:44
tgos93 Messages postés 83 Date d'inscription vendredi 28 décembre 2012 Statut Membre Dernière intervention 9 juillet 2014 - 29 janv. 2013 à 19:43
tgos93 Messages postés 83 Date d'inscription vendredi 28 décembre 2012 Statut Membre Dernière intervention 9 juillet 2014 - 29 janv. 2013 à 19:43
A voir également:
- Pagination php
- Pagination powerpoint - Guide
- Easy php - Télécharger - Divers Web & Internet
- Sommaire avec pagination - Guide
- Expert php pinterest - Télécharger - Langages
- Indesign pagination à partir de la 2ème page - Forum InDesign
8 réponses
ThEBiShOp
Messages postés
8411
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
29 janv. 2013 à 18:46
29 janv. 2013 à 18:46
Il faut contrôler ce qu'il y a dans les variables, via des echo ou des var_dump, histoire de cibler ou se situe le problème.
A chaque fois qu'on met une valeur dans une valeur qui peut poser soucis, on l'affiche histoire d'être certain de savoir ce qui se passe et à quel moment.
Là je pense qu'il faudrait faire
$nb_page = floor($donnee2[0]/10);
A chaque fois qu'on met une valeur dans une valeur qui peut poser soucis, on l'affiche histoire d'être certain de savoir ce qui se passe et à quel moment.
Là je pense qu'il faudrait faire
$nb_page = floor($donnee2[0]/10);
ThEBiShOp
Messages postés
8411
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
28 janv. 2013 à 15:47
28 janv. 2013 à 15:47
Commence par faire un count pour savoir combien d'articles tu auras, comme ça avec un petit calcul tu sais combien de pages tu auras, et tu n'affiches plus le "suivant" sur la dernière.
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
28 janv. 2013 à 16:14
28 janv. 2013 à 16:14
Mon count n'est pas bon ? :o
ThEBiShOp
Messages postés
8411
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
28 janv. 2013 à 16:16
28 janv. 2013 à 16:16
Pour être honnête j'ai lu ton explication et je n'ai pas regardé le code, pensant que tu n'avais juste pas fait ce que j'ai mentionné.
Je regarde ton code et j'édite.
Je regarde ton code et j'édite.
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
28 janv. 2013 à 16:17
28 janv. 2013 à 16:17
D'accord ^^ Merci :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThEBiShOp
Messages postés
8411
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
28 janv. 2013 à 16:26
28 janv. 2013 à 16:26
Je n'aurais pas fait comme toi.
Tu as 21 éléments, tu devrais avoir 3 pages si tu as 10 éléments par page, non ?
1 -> 10
11 -> 20
20 -> 21
après mon count j'aurais calculé le nombre de page que je vais avoir, à savoir 3, et ensuite tu affiches le précédent si tu n'es pas dans la page 0, puis tu affiches "suivant" si $page<$nbpages
un truc du genre...
tu me suis ?
Tu as 21 éléments, tu devrais avoir 3 pages si tu as 10 éléments par page, non ?
1 -> 10
11 -> 20
20 -> 21
après mon count j'aurais calculé le nombre de page que je vais avoir, à savoir 3, et ensuite tu affiches le précédent si tu n'es pas dans la page 0, puis tu affiches "suivant" si $page<$nbpages
un truc du genre...
tu me suis ?
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
Modifié par tgos93 le 28/01/2013 à 16:53
Modifié par tgos93 le 28/01/2013 à 16:53
Je devrais avoir 3 pages en effet mais d'indice 0, 1 et 2 voila pourquoi j'ai dis 2 (la valeur de la page dans l'url) ^^
Si je suis votre raisonnement cela donnerai (après le count) le nombre de pages total serait égal au résultat du count divisé par 10, Comme ceci ? :
$nb_page = $donnee2 / 10;
if ($page==0)
{
précédent (pour faire simple)
}
else if ($page<$nb_page)
{
précédent et suivant
}
else if ($page == $nb_page)
{
précédent
}
Si je suis votre raisonnement cela donnerai (après le count) le nombre de pages total serait égal au résultat du count divisé par 10, Comme ceci ? :
$nb_page = $donnee2 / 10;
if ($page==0)
{
précédent (pour faire simple)
}
else if ($page<$nb_page)
{
précédent et suivant
}
else if ($page == $nb_page)
{
précédent
}
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
28 janv. 2013 à 16:51
28 janv. 2013 à 16:51
suivant* pour le premier dsl
ThEBiShOp
Messages postés
8411
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
Modifié par ThEBiShOp le 28/01/2013 à 17:25
Modifié par ThEBiShOp le 28/01/2013 à 17:25
il faut la valeur supérieure pour avoir le nombre de pages
$nb_page = ceil($donnee2/10);
edit : (oups, avec ta logique, c'est pas un ceil, mais un floor)
et si tu fais ça, ça devrait suffire :
if ($page==0)
{
précédent (pour faire simple)
}
if ($page<$nb_page)
{
suivant
}
$nb_page = ceil($donnee2/10);
edit : (oups, avec ta logique, c'est pas un ceil, mais un floor)
et si tu fais ça, ça devrait suffire :
if ($page==0)
{
précédent (pour faire simple)
}
if ($page<$nb_page)
{
suivant
}
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
28 janv. 2013 à 19:12
28 janv. 2013 à 19:12
J'y regarde demain, je ne connaissais pas "floor".
Merci de m'accorder du temps ;)
Merci de m'accorder du temps ;)
ThEBiShOp
Messages postés
8411
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
28 janv. 2013 à 22:00
28 janv. 2013 à 22:00
c'est une fonction mathématique floor($nb) donne l'entier inférieur et ceil($nb) l'entier supérieur
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
29 janv. 2013 à 15:52
29 janv. 2013 à 15:52
Bonjour, j'ai essayé votre méthode et cela fonctionne sauf que, le nombre de page compté est 1 alors que je devrais avoir 2 (0,1,2) car j'ai 21 articles ... je ne comprends pas :/
J'ai fais un echo, celui ci m'affiche :
-Pour la page 0 : "page : 0 nb page : 1" + suivante
-pour la page 1 : "page : 1 nb page : 1" + précédente
-(pas accès à la page 2 de ce fait)
MERCI. Voila le code
J'ai fais un echo, celui ci m'affiche :
-Pour la page 0 : "page : 0 nb page : 1" + suivante
-pour la page 1 : "page : 1 nb page : 1" + précédente
-(pas accès à la page 2 de ce fait)
MERCI. Voila le code
if(isset($_GET['page']) && $_GET['page']>=0) { $page=$_GET['page']; $article=$page*10; } else { $article=0; $page=0; } $precedente=$page-1; $suivante=$page+1; mysql_connect($hôte, $utilisateur, $mPasse); mysql_select_db($nomBase); $sql2="select count(id)from article"; $requete2=mysql_query($sql2) or die ('Erreur sql !'); $donnee2=mysql_fetch_array($requete2); $nb_page = floor($requete2/10); echo "page : $page </br> nb page : $nb_page"; if ($page==0) { echo"<a href=\"blog.php?page=$suivante\"><center><font color=\"white\">Suivante >></font></center></a>"; } else if ($page<$nb_page) { echo"<a href=\"blog.php?page=$precedente\"><center><font color=\"white\"><< Précédente</a></font></center> ... <a href=\"blog.php?page=$suivante\"><center><font color=\"white\">Suivante >></font></center></a>"; } else if ($page == $nb_page) { echo "<a href=\"blog.php?page=$precedente\"><center><font color=\"white\"><< Précédente</a></font></center>"; } mysql_close();
tgos93
Messages postés
83
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
9 juillet 2014
29 janv. 2013 à 15:54
29 janv. 2013 à 15:54
PS : A noter que j'ai mis : $nb_page = floor($requete2/10); car $donnee2 étant de type tableau je m'etais trompé.
29 janv. 2013 à 19:43