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

PHP & Base de données Discussion :

Moteur de recherche (séparer champs) [Fait] [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 271
    Par défaut Moteur de recherche (séparer champs)
    Bonjour

    J'ai fait un petit moteur de recherche (PHP/MySQL)

    Dans ma requête de traitement j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select description from fichier where description LIKE saisie_utilisateur;
    Cela me retournes un résultat correct lorsque le champ saisie est identique au champ.

    Je voulais savoir ou on pourrait modifier afin qu'il prennes en compte d'autres mots.


    Ex : Description dans la table -> Reglement v2.

    et donc saisir "v2" pour avoir le résultat.



    Cordialement,

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Par défaut
    Tu est sur la bonne voie. Avec LIKE il faut utiliser % ou _
    % pour n'importe quel nombre de charactère
    _ un seul caractère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ...where description LIKE %saisie_utilisateur%;
    te permet de chercher v2 et de trouver tout ce qui contient cela.

    Pour plus d'information
    http://dev.mysql.com/doc/refman/5.0/...functions.html

  3. #3
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 271
    Par défaut
    Ok.

    En fait , j'ai déja essayé ça, mais le truc c'est que ça prend que le premier mot en compte

  4. #4
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 271
    Par défaut
    Oui ça prends que le premier mot en compte , il y a surement un truc qui recupère les champs entre les espaces :
    lingo" "version" "1

    recherche de "lingo" , "version" et "1".

    like mot1 and like mot2 and like mot3 ?

    Mais après comment gérer le nombre de mots saisis ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Par défaut
    Hum si j'ai bien compris tu veux faire une recherche sur chaque mot que l'utilisateur à entré.

    Sans trop me casser la tête, tu peut faire un truc genre explode d'espace vide sur ta chaine de recherche et ensuite créer ta clause where dans une boucle. C'est d'ailleur ce qe tu semble proposer.

    J'ai quelques truc à finir ensuite je poste un peu de code qui devrait aider.

  6. #6
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 271
    Par défaut
    Oui j'ai vu la fonction explode , je penses que je vais l'utiliser ,
    maintenant il faut que je trouves un moyen de parcourir tout le tableau et que pour chaque enregistrement qu'il fasse un LIKE champ%.


    MAJ 1 : J'ai trouvé comment afficher chaque entrée du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for ($i=0; $i<count($var) ;$i++)
    {echo $var[$i] }
    Maintenant comment mettre ça dans la requête ?
    where for(...) ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/04/2012, 16h39
  2. Recherche moteur wiki utilisant des champs imposés
    Par pixelb dans le forum Services
    Réponses: 0
    Dernier message: 03/01/2011, 16h40
  3. [MySQL] Moteur de recherche qui recherche un champ dans toute ma base de données
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/12/2010, 12h28
  4. [MySQL] Moteur de recherche multi critére - Probléme affichage si champs vide
    Par karpe dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 28/02/2010, 20h59
  5. [HTML] Champ formulaire moteur de recherche
    Par lelectronique.com dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 21/07/2008, 19h39

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