Page 1 sur 1

Methode pour parcourir des resultats un par un

Posté : 08 juin 2009, 10:33
par dhjapan
Bonjour,
je sais pas si mon titre est très claire :
en fait j'ai besoin de permettre à l'utilisateur de faire une recherche parmis des biens immoblier par exemple, et une fois qu'il a cliqué sur un lien immobilier, de pouvoir revenir à la liste des biens, et de passer directement au bien suivant et prédédent.

Qu'elle est à votre avis la méthode la plus simple pour ce genre de fonctionnement ?

Merci beaucoup d'avance.

Posté : 08 juin 2009, 10:36
par albat
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Méthodologie, modélisation, sécurité".

Posté : 08 juin 2009, 10:39
par sadeq
Bonjour,

Ce qui serait simple est d'afficher sur la même page, à la fois la liste des biens et un cadre qui présente le bien sélectionné. Comme ça l'utilisateur pourra naviguer dans les biens tout en restant sur le même affichage.

Posté : 08 juin 2009, 12:59
par dhjapan
Merci sadeq pour ta réponse.

Ma question n'etait pas trop d'un point de vu ergonomique,

je voulais savoir si en passant d'un bien à l'autre je devais refaire la même recherche qui m'avait fait obtenir la liste des biens, rechercher l'id du bien précedement selectionné, et afficher le suivant.
Ca me parrait un peu lourd. Est-ce qu'il y a plus simple ? (sachant que je ne veux pas faire d'Ajax)

Merci

Posté : 08 juin 2009, 13:50
par AB
Sur le principe ce que tu décris est de l'affichage page par page.
Un tuto ici http://www.phpdebutant.org/article84.php En fait cela ne fait qu'une requête pour passer d'un produit à l'autre.
Et comme nous en avons déjà parlé dans ce topic http://www.phpfrance.com/forums/viewtop ... highlight= tu peux optimiser si besoin la vitesse d'exécution des requêtes en utilisant des requêtes préparées.

Posté : 08 juin 2009, 16:05
par dhjapan
Mon problème est plus compliqué qu'un simple affichage page par page :

- J'ai une liste de biens, [liste.php]
-> imaginons que sur la 3eme page de cette liste je clique sur un bien [liste.php?p=3]
-> j'arrive sur la fiche détaillée du bien [details.php?id=45]
.. de là j'aimerai pouvoir passer au bien suivant/precedent, [details.php?id=64] ou [details.php?id=48]
ou revenir sur la page de la liste où se trouve le bien en cours. [liste.php?p=3]

Je me demande s'il faut qu'à chaques fois je retrouve le rang de mon bien dans la liste (en faisant la requette de la liste et en retrouvant le bien en cours dans les resultats) pour ensuite créer les liens vers le bien du rang suivant/précédent, ou revenir à la bonne page de la liste ?
..ou s'il y a plus simple.

Posté : 08 juin 2009, 16:17
par AB
Sur la fiche détaillée du bien tu peux très bien faire un système d'affichage page par page pour passer au bien suivant ou précédent.

Posté : 08 juin 2009, 16:25
par dhjapan
alors si je regarde un bien sur la page details.php?id=45 par exemple et que je doit afficher le bien suivant je suis bien obligé de retrouver le rang de mon bien pour en déduire de quoi rédiger la partie LIMIT de ma requette.

Donc lorsque j'affiche la page details.php?id=45 .. je fais une requette pour retrouver toute la liste, je retrouve le rang du bien pour lequel id=45, et du même coup l'id des biens précédents et suivant ?

Posté : 08 juin 2009, 18:29
par AB
Oui peut-être je n'ai pas ton algo sous les yeux... mais peut être aussi tu pourrais faire passer la limite dans une variable dans l'URL

Posté : 08 juin 2009, 19:55
par Invité
Le soucis c'est que cette Limit va varier pour un même bien si j'ajoute ou si je retire des biens de la base de données.

Je pense que je vais faire comme j'ai décris plus haut : parcourir toute la liste à chaques fois pour retrouver le rang du bien à afficher ainsi que l'id des biens juste avant/après dans la liste, mais ca me parrait très lourd

Posté : 08 juin 2009, 19:55
par dhjapan
pardon, c'etait moi juste avant :)

Re: Methode pour parcourir des resultats un par un

Posté : 10 sept. 2009, 20:54
par abdev
slt
ton probleme m interresse
pourrais tu m expliquer quelle méthode tu as finallement degagée pour faire cela ?
merci