[php] gestionnaire de pages

Bonjour à tous,

lorsque j’obtiens un grand nombre de réponses à mes requêtes sql, les pages de mon site sont très chargées… :riva:

je me demandais comment ce serait possible de faire en sorte qu’il y ait plusieurs pages, de par exemple 10 réponses, avec précédent suivant, et le nombre de page (comme sur un forum par exemple) :miam:

quelqu’un ourrait-il m’indiquer une solution ? :paf:

Merci d’avance :ange:

Cordialement,
ISZ.

Simplement dans ta requête (si le SGBD est Mysql) ajouter à la fin "limit $n, 10" (par exemple). Comme ça tu auras les 10 premiers résultats à partir de n.

Après pour la page suivante et précédente tu ajoutes simplement un lien avec une variable GET (exemple pour la page suivante : echo ‘<a href="index.php?n=’ . $n+10 . ‘">’:wink:
Évidemment en faisant les vérifications qui vont bien avant :wink:

Au début du script tu récupères cette variable que tu stockes dans $n, et ça roule :wink:

merci de ta réponse l’ami :hello:
par contre, niveau vérifications, ça devrait ressembler à quoi ? :ange:

Sur la première page tu ne vas pas afficher un lien vers la page précédente, et sur la dernière pas de lien vers la page suivante :wink:

En gros, tu affiches le lien vers la page précédente si $n > 0, et le lien vers la page suivante si $n+10 est inférieur au résultat de "select count(*)" sur la table concernée.

euh… :paf:
avec un peu de code ça ressemblerait à quoi lol :ane:
parce que là j’ai pas tout suivi :whistle:

merci d’avance pour ton aide :hello:

Dit toi que tout ce que tu as à gérer c’est : Sur ma page (qui correspond en fait à un intervalle d’enregistrement), quels sont les liens que je dois afficher ?

Liste des liens possibles :

  • Page précédente
  • Page suivante
    Pour chacun, poses-toi la question : “Qu’est-ce qui fait que pour une page donnée, j’affiche ou pas ce lien ?”

Exemple : Par page tu affiche 10 enregistrements et tu as au total 25 enregistrement.
Tu te trouves sur la page n°2 (ton $n vaut donc 10, tu affiche donc les enregistrement n°10 à n° 19 - MySQL compte les enregistrement en commencant par 0).
Toi, en tant qu’humain tu sais que tu dois afficher les liens “Page précédente” et “Page suivante”, mais comment fait le script ??
Pour le lien “Page précédente” : Est-ce que tu es à la première page ? Non (car $n est supérieur à 0). Donc tu affiche ce lien (en lui donnant un n valant $n-10).
Pour le lien “Page suivante” : Est-ce qu’on est à la fin des enregistrements ? Non (car 25 est supérieur à $n*10). Donc tu affiche ce lien (en lui donnant un n valant $n+10).

ouais… :ane: facile à dire… :whistle:

bonsoir,

bon voilà, j’ai testé un truc avec des if, des > et < et compagnie, sauf que je n’arrive pas à grand chose…
si je pourrais avoir un petit exemple ça serait vraiment sympa de votre part :ane:
car pour tout vous dire, tout ce qui est requetes et conditions, c’est deux des points que je maîtrise pas suffisement :neutre:

Y’a pas de miracle, il faut le faire soit-même pour comprendre, on t’as donné tout ce qu’il te fallait (sauf le code tout fait). Après il existe peut-être des tutoriels sur le sujet ?

surement, il faut les trouver… je vais me mettre a chercher, mais si vous en avez n’hésitez pas à les laisser :slight_smile:

[ edit ]
j’ai trouvé ceci, je vais voir ce que ça donne :
http://www.phpdebutant.org/article84.php

que pensez vous de ce script ? est il améliorable ?