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

PHP & Base de données Discussion :

[SQL] Comment feriez-vous cette requête pour une recherche ?


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut [SQL] Comment feriez-vous cette requête pour une recherche ?
    Bonjour,

    Voici mon modèle :


    Explication :
    - Un hôtel est situé dans une région et dans un département.
    - Une région est composée de plusieurs départements.
    - Un département est situé dans une région.
    - Un hôtel peut avoir plusieurs services.
    - Un hôtel peut avoir plusieurs accès.
    - Un service peut être utilisé par plusieurs hôtels.
    - Un accès peut être utilisé par plusieurs hôtels.

    Le problème :
    Je dois réaliser une requête pour récupérer des informations sur les hôtels correspondant aux paramètres de la recherche.

    La recherche :
    Elle a comme paramètres :
    - Le nom de l'hôtel (attribut de la table "hotel")
    - La région de l'hôtel (attribut de la table "region")
    - Le département de l'hôtel (attribut de la table "department")
    - La ville de l'hôtel (attribut de la table "hotel")
    - Une liste de services à cocher (choix multiples)
    - Une liste d'accès à cocher (choix multiples)

    La difficulté :
    Comment est-ce que je fais pour récupérer les hôtels qui correspondent par exemple au nom d'hôtel, à la région choisie et aux différents services cochés ?

    Je ne vois pas du tout comment faire cela ?
    Peut-être que je mis prend mal ?

    Merci

  2. #2
    Membre habitué
    Avatar de thanathz
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 178
    Points
    178
    Par défaut
    Des jointures non?
    ET pourquoi tu as une liaison région-hotel?
    ton hotel est dans un département qui lui-même appartient à une région... donc si tu choisi juste une région ta liste d'hotel, tu l'opbient par département.

    plus concretement pour la jointure tu fait un truc comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql="SELECT tes_doonées
    FROM hotel";
    $where = "WHERE nom like '%plage%'";
    if($service) {
    $sql.="INNER JOIN link_h_s ON (hotel.id=link_h_s.hotel) ";
    $where = "and departement='41' and service IN (12, 2, 4)";
    }
    et en fait tu construis ta requete selon les données que tu reçois (je sais pas si je suis clair)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut
    Merci beaucoup pour ta réponse thanathz.

    Au temps pour moi pour la région, je l'avais mis mais c'est vrai je n'en ai pas besoin.

    Je vais essayer la requête que tu m'as indiqué. Je pensais faire comme ça mais j'avais réfléchi et je m'étais dis que ça ne pouvait pas marcher.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut
    Encore merci thanathz.

    La requête marche pour un test simple. Maintenant place au gros test.

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

Discussions similaires

  1. Requète pour une recherche par Priorité
    Par amine.h dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/12/2011, 14h45
  2. Réponses: 2
    Dernier message: 30/07/2009, 12h45
  3. Requête pour une recherche sur champs multiple d'une table
    Par fred777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/10/2008, 16h33
  4. Comment feriez-vous? conception d' une base de données.
    Par Patrick25300 dans le forum Schéma
    Réponses: 4
    Dernier message: 05/05/2008, 18h41
  5. [D7] Comment feriez-vous une messagerie instantanée façon MSN ?
    Par ero-sennin dans le forum Web & réseau
    Réponses: 37
    Dernier message: 09/08/2007, 20h53

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