IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

[ moteur de recherche ] affichage de photos, keywords


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 57
    Points : 42
    Points
    42
    Par défaut [ moteur de recherche ] affichage de photos, keywords
    Bonjour,

    J'ai pour le moment un moteur de recherche interne qui m'affiche la totalité des photos dont les mots clé recherché sont contenu dans leur titres.

    Ces photos sont classées par style, grâce à un champ photo_style_id, dans la table PHOTOS.

    J'aimerai améliorer mon moteur de recherche : Lorsque l'un des mots clé est également compris dans le titre de la galerie (style_name de la table STYLES), je voudrai que le moteur de recherche sortent également toutes les photos de cette galerie. La difficulté est qu'il faut qu'il continue de sortir les photos dont le/les keyword(s) est/sont contenu(s) dans leur titre de photo.


    Un exemple concret :
    Supposons que j'ai en bdd une photo nommé 'Little Paris', appartenant à la galerie 'Las Vegas', et une galerie 'Paris'. Si je recherche le keyword 'Pari', j'aimerais que le moteur me sorte la photo 'Little Paris', ainsi que toutes les photos de la galerie 'Paris'.

    Pour le moment ma requete est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql =	"SELECT *
    		     FROM PHOTOS
    		     WHERE photo_name LIKE '%".$_POST['search']."%'
    		     ORDER BY photo_id
    Puis-je faire cela en une seule requete ? comment dois-je la modifier ?

    Merci

  2. #2
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    Tout simplement avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM photos p INNER JOIN styles s ON p.photo_style_id = s.style_id
    WHERE photo_name LIKE '%".$_POST['search']."%'
    OR style_name LIKE '%".$_POST['search']."%'
    ORDER BY photo_id
    Avec ce qui est en gras remplacé par tes vrais champs.

    Attention aux problèmes d'injections SQL dans ton code. Va voir la description de mysql_real_escape_string() dans la doc de PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    Effectivement, ça marche nickel comme ça. Premiere fois que j'utilise les jointures.

    je vais également aller jeter un coup d'oeil sur ce problème d'injections SQL.

    Mais mysql_real_escape_string() ne sert-il pas que pour des des insertions en base ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 07/10/2008, 18h41
  2. [SQL] moteur de recherche : affichage du nombre de résultats
    Par lachourave dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/02/2008, 14h09
  3. Moteur de recherche, affichage par page et url rewriting
    Par paupiette dans le forum Langage
    Réponses: 5
    Dernier message: 22/06/2007, 10h45
  4. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27
  5. Affichage des résultats d'un moteur de recherche
    Par poah dans le forum Langage
    Réponses: 1
    Dernier message: 24/11/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo