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 :

Probleme avec "match against"


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Points : 91
    Points
    91
    Par défaut Probleme avec "match against"
    bonjour à toutes et à tous,

    j'ai un petit souci dans une de mes requetes: il n'y a pas tous les résultats qui apparaissent pourtant je fais une recherche en mode boolean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT DISTINCT $t_bug_table.* 
    FROM $t_bug_table, $t_bugnote_text_table, $t_bug_text_table, $t_bugnote_table
    WHERE ( $t_bug_table.id = " . implode( " OR $t_bug_table.id = ", $t_id_array )  ) 
    AND  ( $t_bug_text_table.id = $t_bug_table.bug_text_id )
    AND ( $t_bugnote_table.id = $t_bugnote_text_table.id )
    AND ( $t_bugnote_table.bug_id = $t_bug_table.id )
    AND ( 
    match($t_bug_table.summary) against('+" . implode( "* +", $t_textsearch ) . "*' in boolean mode)
    OR match($t_bugnote_text_table.note) against('+" . implode( "* +", $t_textsearch ) . "*' in boolean mode)
    OR match($t_bug_text_table.description) against('+" . implode( "* +", $t_textsearch ) . "*' in boolean mode) 
    )
    Pour info c'est utilisé dans du code php et la fonction implode tansforme un tableau en chaine de caractère séparé ici par * +
    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    si tableau arr=[elem1;elem2]
    '+" .implode( "* +", arr) =+ elem1* +elem2*
    Une idée pourquoi je perds des info dans ma requete?...
    Location saisonnière dans le Lot:
    http://www.lot-holidays.com

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    tu n'as pas besoin de tout ce foutoir de OR qui rend la requête illisible et est contradictoire avec tes +.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     WHERE MATCH(...) AGAINST ('motcle1* motcle2*...' IN BOOLEAN MODE)
    devrait faire la même chose.

    Pour debugger, affiche ton SQL résultant des implode().
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

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

Discussions similaires

  1. [PHP/MySQL] Probleme avec ' (quote)
    Par xtaze dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 02/11/2006, 10h00
  2. [text] probleme avec simple quote
    Par bor1s dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/12/2005, 16h03
  3. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  4. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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