PHP MYSQL moteur de recherche
Atrhacker
-
Alain42 -
Alain42 -
Bonjour à tous,
Tout d'abord: Joyeuses fêtes à tous. :-)
Je suis webmaster et je code actuellement un site Internet PHP Mysql
Je souhaite integrer un moteur de recherche.
Je souhaite que ce moteur recherche sur une table principalement (on simplifie ) .
j'ai une tabe nommons la table 1 les champs de table 1 sont
id
idlié
field
value
Je voudrais faire une requete du style
SELECT distinct(idlié) FROM table 1WHERE (field IN(19,39)) AND value!=''
C'est a dire que je veux trouver différents idlié qui ont field 19 et 39 à chaque fois et qui pour ces deux field ont une value qui est differente de vide.
Ici dans ma requete , il me retourne meme si le idlié n'a que 19 pour field ou que 39 et moi je veux les deux.
J'aurais voulu faire :
SELECT distinct(idlié) FROM table 1WHERE field=19 and AND value!='' AND field=39 and AND value!=''.
Mais bien sur AND ne peut s'utiliser qu'une fois sur un champs.
Quelqu'un à une idée?
est ce logiquement impossible?
En vous remerciant infiniment pour votre réponse qui m'aiderait beaucoup,
Anselme
Tout d'abord: Joyeuses fêtes à tous. :-)
Je suis webmaster et je code actuellement un site Internet PHP Mysql
Je souhaite integrer un moteur de recherche.
Je souhaite que ce moteur recherche sur une table principalement (on simplifie ) .
j'ai une tabe nommons la table 1 les champs de table 1 sont
id
idlié
field
value
Je voudrais faire une requete du style
SELECT distinct(idlié) FROM table 1WHERE (field IN(19,39)) AND value!=''
C'est a dire que je veux trouver différents idlié qui ont field 19 et 39 à chaque fois et qui pour ces deux field ont une value qui est differente de vide.
Ici dans ma requete , il me retourne meme si le idlié n'a que 19 pour field ou que 39 et moi je veux les deux.
J'aurais voulu faire :
SELECT distinct(idlié) FROM table 1WHERE field=19 and AND value!='' AND field=39 and AND value!=''.
Mais bien sur AND ne peut s'utiliser qu'une fois sur un champs.
Quelqu'un à une idée?
est ce logiquement impossible?
En vous remerciant infiniment pour votre réponse qui m'aiderait beaucoup,
Anselme
3 réponses
-
Bonjour,
Une remarque:
Pour ton nom de table mets plutot table_1 que table 1
il faut éviter les espaces, les accents etc...
pour ta requette:
$req="SELECT DISTINCT idlié FROM table_1 WHERE field=19 AND field=39 OR field!=''" "
Mais je ne comprend pas trop, comment un champ peut il être à la fois égal à 19 et à 39 ?
@lain -
Salut @lain,
merci pour ta réponse malheuresment je me rends compte que je me suis peut etre mal exprimé.
En gos dans ma table_1 j'ai plusieurs entrées meme plein.
Chaque entrée a un id un idlie un field et un value.
Je veux que ma requete me permette de chercher dans toutes les entres de ma table different id qui ont lié qui ont à chaque fois une entré avec un field 19 et une value !='' et une autre entre avec un field de 39 et une value !=''.
Voila peut etre c'est un peu plus moins confus,
Merci -
Bonsoir,
$req="SELECT idlié FROM table_1 WHERE (field='19' OR field='39' ) AND value IS NOT NULL ";
à condition d'avoir mis lors de la création de ta table default NULL pour le champ value