IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Résultats module de recherche


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Par défaut Résultats module de recherche
    Salut à tous !

    Je suis en train de développer un site avec un module de recherche. Pour que cette recherche soit "équitable" entre tous mes inscrits j'effectue une recherche aléatoire en rajoutant ORDER BY RAND() à ma requête. Ainsi à chaque fois qu'une recherche sera faite les résultats seront dans un ordre différent pour ne pas privilégié les noms commençant par "A" si j'avais trié par nom...

    Mon problème c'est lorsqu'un visiteur clique sur un des résultats pour accéder à sa fiche profil lorsqu'il fait ensuite précédent avec le bouton de son navigateur pour revenir aux résultats de recherche la requête est donc lancée une nouvelle fois et les résultats lui apparaissent alors dans un ordre différent ce qui peut facilement le perdre...

    J'aimerais donc savoir s'il existe une solution pour remédier à ce problème ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut

    Faire un ORDER BY RAND() n'est acceptable qu'à condition de ne pas manipuler un jeu de données trop gros sinon les performances vont s'effondrer.

    Ensuite, tu es dans une approche assez exotique...
    A moins de sauvegarder le résultat de tes recherches en session ou dans une table je ne vois pas trop comment faire pour préserver cet ordre aléatoire.

    Une piste : si les critères de recherche saisis sont présents en session alors tu extrais le résultat déjà renvoyé et stocké à partir d'une table par exemple.
    Si les critères sont inexistants, tu lances une nouvelle recherche.

    Je ne te cache pas que ça fait un peu usine à gaz quand même...

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Par défaut
    Merci pour ton aide déjà
    J'avais pensé à stocker les résultats de la recherche dans une variable de session et après ensuite quand l'utilisateur se rend sur la page de recherche je ne peux pas savoir d'ou il vient ?
    Parce que s'il vient d'une fiche profil il faut afficher la variable de session mais s'il vient de la page d'accueil par exemple il ne faut pas lui réafficher cette recherche...

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/06/2010, 16h08
  2. module de recherche > pertinence des résultats ?
    Par naano dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 10/03/2010, 13h16
  3. Cration d'un module de recherche
    Par cyberbiker dans le forum Access
    Réponses: 1
    Dernier message: 16/03/2006, 15h25
  4. [STRUTS] Module de recherche
    Par DarkWark dans le forum Struts 1
    Réponses: 6
    Dernier message: 05/03/2006, 11h39
  5. [XP pro] Suppression du résultat d'une recherche
    Par Higgins dans le forum Windows XP
    Réponses: 1
    Dernier message: 17/02/2006, 08h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo