Problème avec pagination

Problème avec pagination - PHP - Programmation

Marsh Posté le 04-07-2007 à 18:49:27    

Bonjour, cela fait plusieurs jours que je cherche en vain une solution pour mettre en place un système de pagination pour un site immobilier.
 
J'ai un fichier "result.php" pour l'affichage des résultats dans lequel j'inclus le fichier "fonction_requetes_resultat.php"
 
Le fichier "fonction_requetes_resultat.php" contient donc les différentes requêtes, en voici une partie:
 

Code :
  1. <?php
  2. include('fonction_connexion.php');
  3. if ($liste_bien == "Maisons" or $liste_bien == "Houses" ) {
  4. $query = "SELECT t_maison.photo1,
  5. t_type.type,
  6. t_secteur.secteur,
  7. t_categorie.categorie,
  8. t_maison.no_asp,
  9. t_maison.prix,
  10. t_maison.cp_internet,
  11. t_maison.ville_internet,
  12. t_maison.nb_chambres,
  13. t_maison.surf_hab,
  14. t_maison.surf_terrain,
  15. t_maison.prestige,
  16. t_maison.idx_type_mandat,
  17. t_maison.vendu
  18. FROM t_type,
  19. t_secteur,
  20. t_maison,
  21. t_categorie,
  22. t_mandat
  23. WHERE t_maison.idx_type_mandat = t_mandat.id_mandat
  24. AND (t_maison.idx_type_mandat = '1'
  25. OR t_maison.idx_type_mandat = '2'
  26. OR t_maison.idx_type_mandat = '3')
  27. AND t_maison.idx_type_offre = '2'
  28. AND t_maison.idx_type_offre = t_type.id_type_offre
  29. AND t_maison.idx_secteur = t_secteur.id_secteur
  30. AND t_maison.idx_categorie = t_categorie.id_categorie";
  31. $tri = " ORDER BY prix";
  32. $result_requete_secteurs = " AND t_maison.idx_secteur IN ($secteur_code)";
  33. $result_requete_categorie = " AND t_maison.idx_categorie IN ($categ)";
  34. /****************** GENERATION DE LA REQUETE **********************/
  35. $query_final = $query.$result_requete_prix.$result_requete_secteurs.$result_requete_categorie.$tri;
  36. $reponse = mysql_query($query_final);
  37. }


 
Ensuite, sur ma page "result.php", j'affiche les résultats ainsi:
 

Code :
  1. <?php
  2. while ($donnees = mysql_fetch_assoc($reponse) ) {
  3. ?>


 
J'ai donc essayé plusieurs systèmes de pagination glanés sur le web que je comprenais plus où moins bien, mais aucun ne fonctionne...
Je pense qu'il y a à chaque fois un soucis avec le comptage du nombre de résultats retournés étant donné que les requêtes se trouvent dans un fichier externe.
 
Pourriez-vous me donner un coup de main?
 
Merci par avance.

Reply

Marsh Posté le 04-07-2007 à 18:49:27   

Reply

Marsh Posté le 12-07-2007 à 11:36:16    

Personne ne peut me donner un coup de main? J'ai beau chercher, je ne trouve pas de solution.

Reply

Marsh Posté le 12-07-2007 à 12:28:46    

Penches toi sur le limit de mysql.
 
Tu crois pas que tu aurais pu faire une recherche sur ton moteur de recherche préféré, en français si tu préfères et t'as tout dans les premiers liens!

Reply

Marsh Posté le 12-07-2007 à 12:52:58    

tu fais : $resultats = mysql_num_rows($reponse); pour afficher le nombre de résultat ça marchera :jap:
 
Ensuite tu fais :
<?php
  while($i!=$resultats)
    {
     echo "blablabla";
     $i++;
    }
?>

Reply

Marsh Posté le 12-07-2007 à 15:39:45    

leflos5 a écrit :

Penches toi sur le limit de mysql.


Et dans le cadre d'une pagination, ça marchera mieux avec un found_rows() : http://dev.mysql.com/doc/refman/5. [...] found-rows

Reply

Marsh Posté le 13-07-2007 à 16:20:46    

Merci à vous pour ces réponses, je m'y penche immédiatement et vous tiens au courant.

Reply

Sujets relatifs:

Leave a Replay

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