Afficher Résultat sur plusieurs pages

Afficher Résultat sur plusieurs pages - PHP - Programmation

Marsh Posté le 15-01-2009 à 12:06:07    

Bonjour à tous,
 
Sur mon site que je dois réaliser pour mon travail maison (je suis en IUT Informatique),
J'ai mis une consultation de livre à partir d'une base de donnée.
Mais j'aimerais que le résultat (qui est parfois trop long) s'affiche sur plusieurs pages d'une longueur définie.
Sur ma page consulté, quand on fait une recherche vide ou une recherche qui comporte beaucoup de résultat,
Tout les résultat s'affiche dans la même page.
Mon site internet : http://dormeur.info.prive/jbeau/TM/identification.php
 
Merci d'avance pour vos réponses !


Message édité par ozone--24 le 15-01-2009 à 14:16:04
Reply

Marsh Posté le 15-01-2009 à 12:06:07   

Reply

Marsh Posté le 15-01-2009 à 15:20:20    

Salut, En résumé,

Code :
  1. $requete1 = mysql_query("SELECT * from table or die (mysql_error());
  2. $data1 = mysql_fetch_assoc($requete1);
  3. $totalDesMessages = $data1 + 1;
  4. $nombreDeMessagesParPage = 25;
  5. $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
  6. if (isset($_GET['page']))
  7. {
  8. $page = intval($_GET['page']);
  9. }
  10. else
  11. {
  12. $page = 1;
  13. }
  14. //On affiche les pages 1-2-3, etc.
  15. echo '<p>Page : ';
  16. for ($i = 1 ; $i <= $nombreDePages ; $i++)
  17. {
  18.     if ($i == $page) //On ne met pas de lien sur la page actuelle
  19.     {
  20.     echo $i;
  21.     }
  22.     else
  23.     {
  24.     echo '
  25.     <a href="page='.$i.'">'.$i.'</a>';
  26.     }
  27. }
  28. echo '</p>';


Message édité par komar_666 le 15-01-2009 à 15:23:34
Reply

Marsh Posté le 15-01-2009 à 15:29:33    

Ah tiens j'ai un peu le même probleme que toi
 
J'avais résolu le truc en faisait un mic mac à ma sauce (bon je sais d'avance que certains ici diront que l'idée est moche, mais tant que ça marche c'est ce qui compte)
 
tu as le résultats de ta recherche. admettons 167 réponses (au piff)
tu défini combien de réponse tu veux par page, admettons 25
tu fais donc un $nbdepage = $rowresultat/$nbdereponseparpage
 
avec $rowresultat = 167 (résultat de la requete mysql)
et $nbdereponseparpage = 25 (défini par toi ou l'utilisateur)
 
il est rare que le résultat de la division tombe pile poil donc il faut rajouter une page (mais pas au cas ou ça tombe pile poil)
 
donc :
if ($nbdepage%$nbdereponseparpage != 0) ($nbdepage = $nbdepage+1);
 
après je print les pages
donc :
for ($i=1;$i<=$nbpage;$i++) {print ("$i" );};
 
là j'ai 1 - 2 - 3 - 4 - 5 - 6
 
après tu fais la mise en page que tu veux
 
pis tu affiches les résultats en faisant une limit dans la requete mysql
 
bien sur faut rajouter dans le print des pages un lien qui donne le numéro de la page que tu visites, ainsi que garder en mémoire la recherche en cours
 
je ne sais pas si j'ai été très claire....  :whistle:

Reply

Marsh Posté le 15-01-2009 à 16:22:07    

Zend_Paginator ça marche pas mal du tout ! (mais vaut mieux dans ce cas faire tout le projet avec Zend Framework :o)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed