PHP MYSQL moteur de recherche

Atrhacker -  
 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

3 réponses

Alain42
 
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
0
Atrhacker
 
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
0
Alain42
 
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
0