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 boucle avec like et and


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut moteur de recherche boucle avec like et and
    Bonjour,
    voici ma méthode et ma requête sql pour un moteur de recherche

    $s étant les mots clé tapés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $detail_s = explode(" ",$s);
    $WHERE = "WHERE";
    $count = 0;
    reset ($detail_s);
    while(list($key, $data) = each($detail_s))
       {
    	$count = $count + 1;
    	if ($count == 1) { $WHERE .= " t.name LIKE '%".$data."%' "; } 
    	else { $WHERE .= " OR t.name LIKE '%".$data."%' "; } 
      }
     
    $query = "
    SELECT id 
    FROM p 
    JOIN tp ON tp.p = p.id 
    JOIN t ON tp.t = t.id 
    ".$WHERE." 
    ORDER BY p.d DESC ";
    Ce code marche très bien par contre j'utilise OR pour séparer la recherche de chaque mot. donc mon moteur de recherche et finalement très peu pratique.

    J'ai essayé de remplacer OR par AND afin de rendre tous sa plus cohérent et pratique seulement avec AND le moteur de recherche me retourne plus aucun résultat alors que des résultats existent

    Il y a t'il une solution pour pouvoir utiliser AND dans ce code ???
    Merci d'avance

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Oui enfin si ça fonctionne avec OR et mais pas avec AND c'est qu'il y a une raison : ce ne sont pas des mots qu'on peut intervertir pour faire plus joli !

    Votre requête avec les OR correspond à votre besoin, gardez-là.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut
    Justement si je souhaite utiliser AND c'est que OR ne me convient pas.
    Si je recherche par exemple veste cuir mon résultat sera tous les éléments dont les tags contiennent veste ou cuir ce qui n'est vraiment pas pratique quand on cherche que les vestes en cuir.

    AND va me permettre de cibler mes recherches et donc dans cette exemple de ne récupérer que les vestes en cuir.

    Il y a certainement un moyen de remplacer OR par AND dans cette requête autres que de remplacer uniquement les 2 termes.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Dans votre exemple de veste en cuir, il vous faudrait faire :

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut
    j'ai essayé mais sa ne me renvoi aucun résultat.

    J'ai recherché encore pas mal, c'est très étonnant que AND ne marche pas dans mon cas sa semble être la seul solution. peut être une simple erreur dans mon script

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Quel est le SGBD ?

Discussions similaires

  1. [CS3] Moteur de recherche et requête LIKE
    Par HAbroc dans le forum Dreamweaver
    Réponses: 6
    Dernier message: 19/05/2009, 22h42
  2. integration moteur de recherche perl avec easyphp
    Par sculpteur dans le forum Web
    Réponses: 0
    Dernier message: 27/09/2007, 15h28
  3. moteur edition/rechercher pb avec ff (document.layers ?)
    Par jocoat dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/09/2007, 09h11
  4. Moteur de recherche interne avec zope/python
    Par tunix dans le forum Zope
    Réponses: 3
    Dernier message: 01/05/2006, 15h45

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