Page 1 sur 1

pagination sous php

Posté : 05 mars 2019, 13:03
par joazz1
Bonjour

Pour l'instant j'ai sur mon site une pagination un peu primaire avec un affichage des pages de 1 à 76 ce qui n'est pas esthétique

J'aimerais mettre en place un pagination avec des boutons "suivant" et "précédent", voici mon code

function liensPage22($nbTotal,$marque,$modele,$etat,$budgetInit,$budgetFinal,$nrj,$bv,$cat,$couleur,$kmInit,$kmFinal,$annee,$id,$trie,$nbinit)
{
$nbPage=ceil($nbTotal/50);
echo'<table width="100%">';
echo'<p align="left"><strong><b>USE the search box to filter your query -'.$nbTotal.' - result</b>';
if ($nbTotal>1) { echo 's'; }
echo '</strong><b> - pages : </b>';
for ($i=1;$i<=$nbPage;$i++)
{
$nbinit2 = ($i-1)*10;
$page = $nbinit/10+1;
//echo '<b>page = </b>'.$page;
echo ($page==$i) ? $i.' ': '<a href="/lefthanddrivecars/result.php?marque='.$marque.'&amp;modele='.$modele.'&amp;budgetInit='.$budgetInit.'&amp;budgetFinal='.$budgetFinal.'&amp;nrj='.$nrj.'&amp;bv='.$bv.'&amp;cat='.$cat.'&amp;kmInit='.$kmInit.'&amp;kmFinal='.$kmFinal.'&amp;annee='.$annee.'&amp;nbinit='.$nbinit2.'">'.$i.'</a> ';

}
echo'</p>';
echo'</table>';
echo'<br />';

}

Pourriez-vous m'aider?

Merci

Re: pagination sous php

Posté : 07 mars 2019, 05:32
par Patriboom
Bonjour,

d'abord, lorsque tu présentes ici, il faut mettre ton code dans un espace spécialement conçu pour ça : tu trouveras le bouton PHP dans la barre d'outils (barre bleue). Tu peux aussi créer cet espace pour code avec un beau « PHP » entre crochet ouvrant ( [ ) et crochet fermant ( ] ) et fermer ton code avec crochet ouvrant, trait oblique ( / ) PHP puis crochet fermant. Le bouton est plus rapide et facile, mais plus clair et très utile pour tous.

echo'<p align="left"><strong><b>USE the search box to filter your query -'.$nbTotal.' - result</b>';
if ($nbTotal>1) { echo 's'; }
echo '</strong><b> - pages : </b>';
// Ici j'insérerais la mention « Page précédente »
for ($i=1;$i<=$nbPage;$i++)
{
$nbinit2 = ($i-1)*10;
$page = $nbinit/10+1;
//echo '<b>page = </b>'.$page;
echo ($page==$i) ? $i.' ': '<a href="/lefthanddrivecars/result.php?marque='.$marque.'&amp;modele='.$modele.'&amp;budgetInit='.$budgetInit.'&amp;budgetFinal='.$budgetFinal.'&amp;nrj='.$nrj.'&amp;bv='.$bv.'&amp;cat='.$cat.'&amp;kmInit='.$kmInit.'&amp;kmFinal='.$kmFinal.'&amp;annee='.$annee.'&amp;nbinit='.$nbinit2.'">'.$i.'</a> ';

}
// Ici j'insérerais la mention « Page suivante »
echo'</p>';

Puisque tu sais faire ton code avec un for et comparer la valeur $i de ton for à la valeur actuelle de page ( $page ), tu peux faire un lien semblable à ceux produit dans ta boucle, mais en remplaçant la variable $i par $page-1 (pour accéder à la page précédente et $page+1 pour la suivante.


Ça pourrait ressembler à :

echo '<a href="/lefthanddrivecars/result.php?marque='.$marque.'&amp;modele='.$modele.'&amp;budgetInit='.$budgetInit.'&amp;budgetFinal='.$budgetFinal.'&amp;nrj='.$nrj.'&amp;bv='.$bv.'&amp;cat='.$cat.'&amp;kmInit='.$kmInit.'&amp;kmFinal='.$kmFinal.'&amp;annee='.$annee.'&amp;nbinit='.$nbinit2.'">'.($Page-1).'</a> ';

Mais - au fait - la liste produite par ton « for » est la liste des items ou celle des pages ?
Le lien qui est produit et qui est affiché $i mènera à un item ou à un page ?



Tiens, petit raccourci en chemin (bonus!)

echo'<p align="left"><strong><b>USE the search box to filter your query -'.$nbTotal.' - result'.(($nbTotal>1) ? 's' : '').'</b></strong><b> - pages : </b>';

Re: pagination sous php

Posté : 08 mars 2019, 17:22
par joazz1
Bonjour

Merci pour cette correction, pourrais-tu m'envoyer à quoi devrait ressembler le code? Désolé mais je m'emmêle les pinceaux dans mes écritures

Merci

Re: pagination sous php

Posté : 08 mars 2019, 17:44
par Patriboom
Et bien non.
D'une part parce c'est ici un forum d'entraide pour aider à programmer, non pour faire faire la programmation par d'autres.
D'autre part parce que je suis bien plus mêlé dans ton code que toi-même puisses l'être. Démêle-toi d'abord, tu nous présenteras cela de façon claire lorsque toi-même sauras mieux ce que tu veux.
D'autre part encore parce que j'ai déjà fait ce que tu me demandes, presque avec les mêmes mots :
Ça pourrait ressembler à
avais-je écrit dans mon précédent message.

Re: pagination sous php

Posté : 08 mars 2019, 17:54
par joazz1
Ah ok je pensais bien que c’était cela mais ça me reproduit la mention « -1 » plusieurs (autant de pages qu’il y a )

Peut-être modifier i++ aussi alors ?

Re: pagination sous php

Posté : 08 mars 2019, 18:08
par Patriboom
Mets de l'ordre dans ton code. Il est difficile de s'y retrouver.
L'idée globale n'est pas claire non plus.
Le lien que tu produis là semble pointer vers un item particulier, mais tu parles dans ta descriptions de « pages » lesquelles, à mon habitude, seraient de regroupement d'items. Alors, on veut quoi, des items, des pages, les deux ?

Re: pagination sous php

Posté : 08 mars 2019, 19:50
par joazz1
Bonjour

C'est simplement un changement de page, avec des items listés.

Merci