Requête SQL

Fermé
Klafouty Messages postés 2 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 12 décembre 2013 - 4 juin 2013 à 17:52
jee pee Messages postés 39643 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 - 4 juin 2013 à 22:40
Bonjour,

Je suis étudiant et j'ai à faire un projet informatique. J'ai choisit de construire un site de réservation de camping.
J'ai créer dans ma base de donnée plusieurs tables en sql et j'aimerais, via du php, faire une requête particulière.

Voici mes tables :

Client
->id_client
->nom (PK)
->prénom (PK)
->numéro
->rue
->ville
->CP
->téléphone

Emplacement
->id_emplacement (PK)
->id_type (FK)
->id_zone (FK)
->tarif
->surface

Zone
->id_zone (PK)
->nom

Type
->id_type (PK)
->nom

Réservation
->id_réservation (PK)
->id_client (FK)
->id_emplacement(FK)
->date_semaine

Je souhaite via un formulaire faire apparaître les emplacements disponibles d'une zone (choisit par l'utilisateur), qui ne sont pas déja réservés.

Pour faire apparaitre les emplacements d'une zone j'ai une requete qui fonctionne :

select id_emplacement from emplacement,zone where emplacement.id_zone=zone.id_zone and zone.nom="..." ;

Par contre je n'arrive pas à trouver le moyen d'inclure la contrainte de la date... Il faudrait (en plus de la zone) afficher les emplacements disponible pendant la semaine choisit par l'utilisateur.

Pouvez vous m'aider ?

Merci :)

1 réponse

jee pee Messages postés 39643 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 9 237
Modifié par jee pee le 4/06/2013 à 22:41
Bonjour,

Si l'utilisateur choisi une date de semaine tu pourrais utiliser NOT EXISTS dans la table reservation pour trouver les emplacements n'ayant pas de réservation à ladite date.

Par exemple :

select id_emplacement from emplacement, zone 
where emplacement.id_zone = zone.id_zone 
and zone.nom = "..."     /* choix de l'utilisateur */
and not exists 
(select * from reservation 
 where emplacement.id_emplacement = reservation.id_emplacement
 and date_semaine = "..."    /* choix de l'utilisateur */
)


cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0