recherche LIKE sur 2 tables liées

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recherche LIKE sur 2 tables liées

par Cobaye » 17 juin 2008, 22:14

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

recherche LIKE sur 2 tables liées

par filo » 17 juin 2008, 21:22

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