Moteur de recherche sql

RomainMaMarine Messages postés 3 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 1 avril 2010 - 1 avril 2010 à 11:27
RomainMaMarine Messages postés 3 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 1 avril 2010 - 1 avril 2010 à 14:13
Bonjour,

Voici mon problème du jour...

j'aimerai créer un moteur de recherche sur mon site internet. Le but est de rechercher dans ma base de données les champs saisies dans le textArea (NB, si une phrase est saisie, je veux rechercher cette phrase dans la BDD et non pas les mots un par un).

Prenons par exemple la table test créé de la manière suivante :


CREATE TABLE test ( 
id tinyint(4) UNSIGNED NOT NULL AUTO_INCREMENT, 
column1 varchar(100) NOT NULL, 
column2 varchar(100), 
column3 varchar(100), 
PRIMARY KEY (id) 
); 

j'aimerai donc réaliser ma recherche sur column1, column2 et column3 sans avoir (si possible) à taper la requete suivante :

$sql = 'SELECT * FROM 'BD'.'test' WHERE column1 LIKE "%'.$recherche.'%"' ; 
$sql = 'SELECT * FROM 'BD'.'test' WHERE column2 LIKE "%'.$recherche.'%"' ; 
$sql = 'SELECT * FROM 'BD'.'test' WHERE column3 LIKE "%'.$recherche.'%"' ; 

$recherche étant ma saisie.

quelqu'un aurait une idée...

merci d'avance,

Romain

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
1 avril 2010 à 11:33
Salut,

Il te suffit d'utiliser l'opérateur OR dans ta clause where :
$sql = 'SELECT * FROM 'BD'.'test' WHERE column1 LIKE "%'.$recherche.'%"' OR column2 LIKE "%'.$recherche.'%"' OR column3 LIKE "%'.$recherche.'%"'; 

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
RomainMaMarine Messages postés 3 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 1 avril 2010
1 avril 2010 à 13:22
ok ok, mais au final il faudra que je nomme toutes les colones...

n'existerait-il pas une commande du style

select * from test where allcolumn LIKE "%'.$recherche.'%"'

???
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
1 avril 2010 à 13:50
Salut,

Pas à ma connaissance. Mais tu peux toujours générer ta requête dans le langage de programmation que tu utilises pour l'interroger.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
RomainMaMarine Messages postés 3 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 1 avril 2010
1 avril 2010 à 14:13
ok je vais voir ca

merci
0
Rejoignez-nous