Moteur de recherches sur 3 tables mysql
8 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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
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%'
ç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...
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
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Parts de marché des moteurs de recherche aux Etats-Unis
- Gestion des langues et des sessions en PHP / MySQL
- Le phénomène Google
- Historique des recherches dans Google News
- Ajouter un moteur de recherche d'images sur son site
- Passage à l'heure d'été/hiver sur un forum phpBB
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Sortie officielle de GoogleStats v2.0 !
- Alexa lance un moteur de recherche d'images
- Google Trends : un pas vers le web social ?
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 0 invités






le forum