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

Requêtes MySQL Discussion :

pb requete avec boucle


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 33
    Points : 22
    Points
    22
    Par défaut pb requete avec boucle
    Bonjour,
    J'essaie de faire un petit moteur de recherche et j'ai un pb avec un requete qui affiche plusieurs fois le resultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $tab=explode(" " , $mots);        
    $nb1=count($tab);
    $query="SELECT idtfaq,nomtfaq, questions, reponses FROM themefaq,faq WHERE ((idtfaq=idthemefaq and nomtfaq like '%$tab[0]%') or (questions like '%$tab[0]%') or (reponses like '%$tab[0]%'))";
     
    for($i=1 ; $i<$nb1; $i++)
            {
            $query.="or ((idtfaq=idthemefaq and nomtfaq like '%$tab[$i]%') or (questions like '%$tab[$i]%') or (reponses like '%$tab[$i]%'))";       // on boucle pour integrer tous les mots dans la requête
            }
     
    $query.=" group by questions,reponses,nomtfaq";
    Je comprends pas pourquoi.
    Merci.

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Tu as mit ta clause de jointure dans une seule des possibilités OR.

    Il faudrait plutot faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [...]
    WHERE idtfaq=idthemefaq AND
    ( 
       (nomtfaq like '%$tab[0]%')
       or
       (questions like '%$tab[0]%')
       or
       (reponses like '%$tab[0]%')
    )
    Je pense que ça résoudrait ton problème, mais en fait je suis pas sûr à 100%, sans modèle de données je suis un peu perdu
    K

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

Discussions similaires

  1. [MySQL] requete avec boucle php
    Par mikael2235 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/11/2011, 21h04
  2. [MySQL] Boucle for dans une requete avec jointure
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/02/2010, 15h12
  3. requete Update avec boucle
    Par isarian dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2009, 11h17
  4. [MySQL] requete et boucle avec 1 seule reponse
    Par spawns dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/01/2009, 20h57
  5. comment executer une requete avec une boucle?
    Par medsine dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/05/2008, 14h45

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