Moteur de recherches sur 3 tables mysql
8 messages
• Page 1 sur 1
- webcrea
- WRInaute discret

- Messages: 53
- Inscription: 1 Sep 2003
Moteur de recherches sur 3 tables mysql
Bonjour,
Peut-être pourrez-vous m'aider :
je cherche donc à faire une recherche multi-tables.
J'ai une table de films, une autre d'acteurs et une autre de réalisateurs.
J'aimerai simplement que lorsqu'un visiteur fasse une recherche, celle-ci soit faite sur l'ensemble des tables.
Voici ma requête (fausse) qui me ramène un film autant de fois qu'il y a d'acteurs différents (et en affichant spielberg pour chaque résultat !)
.
Avez-vous une idée d'où vient mon erreur ?
Merci de votre aide
Peut-être pourrez-vous m'aider :
je cherche donc à faire une recherche multi-tables.
J'ai une table de films, une autre d'acteurs et une autre de réalisateurs.
J'aimerai simplement que lorsqu'un visiteur fasse une recherche, celle-ci soit faite sur l'ensemble des tables.
Voici ma requête (fausse) qui me ramène un film autant de fois qu'il y a d'acteurs différents (et en affichant spielberg pour chaque résultat !)
- Code: Tout sélectionner
SELECT p.titre, p.description, a.nom, r.nom FROM dsf_produits p, dsf_acteurs a, dsf_realisateurs r where p.titre LIKE '%spielberg%' OR p.description LIKE '%spielberg%' OR a.nom LIKE '%spielberg%' OR r.nom LIKE '%spielberg%'
Avez-vous une idée d'où vient mon erreur ?
Merci de votre aide
-

chantra - WRInaute occasionnel

- Messages: 257
- Inscription: 27 Juin 2005
utilise les inner join, ca devrait aider.
- Code: Tout sélectionner
SELECT p.titre, p.description, a.nom, r.nom FROM dsf_produits p inner join dsf_acteurs as a on (a.id_film=p.id)
inner join dsf_realisateurs as r on (r.id_film=p.id)
where p.titre LIKE '%spielberg%' OR p.description LIKE '%spielberg%' OR a.nom LIKE '%spielberg%' OR r.nom LIKE '%spielberg%'
- webcrea
- WRInaute discret

- Messages: 53
- Inscription: 1 Sep 2003
ça ne donne aucun résultat.
Cette recherche devrait donner 3 résultats...
- Code: Tout sélectionner
SELECT p.titre, p.description, a.nom, r.nom
FROM dsf_produits p
INNER JOIN dsf_acteurs AS a ON ( a.id = p.id )
INNER JOIN dsf_realisateurs AS r ON ( r.id = p.id )
WHERE p.titre LIKE '%spielberg%'
OR p.description LIKE '%spielberg%'
OR a.nom LIKE '%spielberg%'
OR r.nom LIKE '%spielberg%'
Cette recherche devrait donner 3 résultats...
- YvesB
- WRInaute impliqué

- Messages: 520
- Inscription: 11 Jan 2004
Facile, il faut juste que tu accordes les id de chaque tables
- Code: Tout sélectionner
SELECT p.titre, p.description, a.nom, r.nom
FROM dsf_produits p
WHERE a.id = p.id and r.id = p.id and (p.titre LIKE '%spielberg%'
OR p.description LIKE '%spielberg%'
OR a.nom LIKE '%spielberg%'
OR r.nom LIKE '%spielberg%')
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Tables MySQL corrompues
- Tables MySQL liées
- Mysql sum sur 2 tables
- [MySQL] : select de 2 tables et mysql_fetch_assoc
- Fusionner deux tables mysql
- Taille des tables MySQL
- [Résolu] MySQL lier 2 tables
- Update de 2 tables MySql [RESOLU]
- Mysql : select sur plusieurs tables?
- changer le charset des tables MySQL
- Parts de marché des moteurs de recherche aux Etats-Unis - 18-01-2006
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Le phénomène Google - 22-06-2002
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Historique des recherches dans Google News - 11-11-2005
- Les différents systèmes de mise en cache des données - 16-08-2010
- Ajouter un moteur de recherche d'images sur son site - 24-07-2007
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
Consultez la description détaillée des produits ou services de Google suivants : Google News Archive Search, Google SearchMash, Google Custom Search Engine
- Analyse du positionnement dans Google
Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Google, pour certains mots-clés recherchés. - Analyse du positionnement dans Yahoo
Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
