Page 1 sur 1

recherche LIKE sur 2 tables liées

Posté : 17 juin 2008, 21:22
par filo
Bonjour,

Voici mon problème, j'ai 2 tables liées :

- une principale nommée "produits"

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `produits` ( `id` int(11) NOT NULL auto_increment, `titre` varchar(255) NOT NULL, `categorie` text NOT NULL, `description` varchar(255) NOT NULL default '', `label` varchar(255) NOT NULL default '', `taille` varchar(255) NOT NULL default '', `type` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) )
- une seconde nommée "labels", le champ id de cette table correspond au champ label de la table principale.

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `labels` ( `id` int(11) NOT NULL auto_increment, `nom_label` varchar(255) NOT NULL, PRIMARY KEY (`id`) )
J'aimerai effectué une recherche (chaine numérique "$recherche") à la fois dans les champs titre, categorie, description, taille type de la table "produits" mais aussi du champ "nom_label" correspondant de la table "labels"

Voici la requete pour le recherche de la première table

Code : Tout sélectionner

SELECT * FROM produits where titre LIKE '%$recherche%' || description LIKE '%$recherche%' || categorie LIKE '%$recherche%' || taille LIKE '%$recherche%' || type LIKE '%$recherche%' order by id desc
Comment faire pour aller interroger le champs nom_label du produit ?

Merci d'avance

Posté : 17 juin 2008, 22:14
par Cobaye
Il te suffit de faire ce qu'on appel une jointure, tu as un tuto la http://www.phpfrance.com/forums/voir_su ... inture.php