Couss, si tu regardes bien j'ai changé le code un peu plus haut .... Mais merci de ton aide
Me revoilà avec mon minichat.
J'en perds mon latin, je viens du monde C et là PHP me fait sévèrement transpirer.
Il m'est demandé dans mon TP de créér un lien pour afficher les messages par 5, avec possibilité d'afficher les suivants ou précédents en verifiant de ne pas être en fin ou début de liste.
je suis parti sur ce script qui logiquement est assez simpel (en tout cas en C pas de soucis)
j'ai 17 messages et donc 4 pages.
mon sql est donc filtré par la LIMIT x,y
Lorsque je suis en $page=0 pas de soucis, $page s'incrémente et passe à 1;
Dans ce cas je peux cliquer sur précedent ou suivant
Si je clique sur précedent la variable reprend la valeur 0;
mais si je clique sur "messages suivant "et bien $page reste à 1 !!!
j'ai fait un test totalement illogique mais bon parfois les tests empiriques permettent de résoudre pas mal de soucis.
Et là si je clique sur "Messages suivants" !!! Devinez !!!
$page=2.
Quelqu'un aurait-il une explication logique ???
14 réponses
En somme tu veux faire une pagination ?
Je n'ai pas compris pourquoi tu récupères tes données dans une boucle for :/
Tu as un tutoriel sur la pagination si tu veux t'inspirer ;)
Je ne récupère pas les données, je construis mes requetes en fonction du nombre de page (LIMIT 0,5 ... LIMIT 5, 10 etc ...) puis j'appelle le tableau en fonction de la page sélectionné. Je sais que je refabrique la roue, mais c'est l'idée du tp ....
Voici une vieille fonction de pagination que tu peu utilisé :
tu doit dans un premier temps récupérer la page actuelle puis calculé les limites de la requête SQL
Merci Couss, mais j'ai surtout besoin de comprendre comment est gérer l'incrémentation et la décrémentation des variables en PHP.
En C lorsque voici comment ca fonctionne
a = 5;
i=++a ; // i=6 et a=6
i=aa++; // i=6 et a=7
dans le cas de mon script ca ne réagit pas de la meme façon et je ne comprends pas pourquoi ???
C'est normal que cela ne fonctionne pas, je m'explique :
Lorsque tu génére ta page, php te génère ceci:
Explication:
As tu compris ce que je voulais dire ?
Ta variable doit être dynamique, c'est à dire récuperer la page en cours, puis la traitée:
Exemple:
SquallX, sur le coup je n'ai pas compris pourquoi tu me posais la question de l'utilité de ma boucle, donc j'ai gratter un peu et me suis rendu compte que j'étais un ane baté ... Mais ca ne réponds pas à mon problème d'incrémentation mais voilà le nouveau code :
il y a peut être une autre façon de faire mais moi j'incrémente comme cela : $page++ (ajoute +1 à la variable page) et je décrémente $page--
Pourquoi tu ne fais pas une boucle pour afficher tes liens ?
EDIT : Au temps pour moi j'ai survolé ton message...
Il me semble que pour incrémenter une variable tu dois faire $var++ et non ++$var. Après je ne suis pas sûr
Oui j'avais vu mais il y a eu plusieurs version donc j'ai préféré partir de la première au cas ou
en tout cas mis à part quelques modif ca devrait afficher ce que tu souhaite
Merci Spiker pour ta réponse mais c'est ce que je fais, je travaille sur une variable $page qui est initialisée plus haut par un $_GET :
voila le code modifié pour testé :
voilà ce que donne l'analyse par chrome

alors j'ai réfléchis la façon dont PHP génère le HTML , grace à ta remarque Spiker et voilà le résultat :
et l'analyse chrome :

Je ne comprend vraiment pas pourquoi tu stock plusieurs requête et ce que tu souhaite faire.
Moi ce que je ferais c'est cela :
Tout simplement iiNku ... A chercher trop compliqué on se noie !!!