-
Message publié le mercredi 11 février 2009 - 12h00 par ikramta.
-
Bonjour tout le monde bon je suis en réalisation d'un system d'information qui permet la gestion de la réservation des chambres pour un hotel mon paniq est comment je peut parmi les réservation qui existent définir si cet client, qui saisie la date début séjour et la date fin ,peut finir son réservation ou non.merci d'avance et salut tout le monde
-
Message publié le mercredi 11 février 2009 - 13h14 par nours312.
nours312.com -- je ne suis pas codeur bénévol, mais j'aide gratos ;)
-
Ben c'est comme tout planning, tu as d'un coté une quantité n de plages de réservations (clients) une quantité x de produits (chambres) et tu dois faire en sorte que les deux ne s'entrecroisent pas !
Le plus simple serait d'attribuer immédiatement le numéro de chambre à la réservation, ainsi il te suffit de sélectionner la chambre dont la plage horaire est libre pour la réservation de ton client, puis inscrire le client dans cette chambre durant la période demandée !
Il te faut prendre en considération différents paramètres tels que le temps nécessaire entre deux clients pour refaire la chambre, celles que le gestionnaire préfère louer (simplicité de gestions, ou autres) si il y a une liste de chambre dont le gestionnaire préfère les louer en longue ou courte durée ....
après avoir bien poser le problème, le codage reste simple !! ;)
BonCode ;)
-
Message publié le mercredi 11 février 2009 - 14h15 par ikramta.
-
salut nours312 et merci bien.
bon ma base contient les tables suivant:
chambres(id_ch,N,etage,description,statut,id_type)
type_ch(id_type,type,description,tarif,nb_lit_max)
hotel(id_hotel,statut,adresse)
saison(id_sais,date_d,date_f)
autre_espace(id,nom,tarif)
réservation(id_r,type_r,date,date_d,date_f,id_hotel,id_ch,id_espace,id_type,id_client)
client(id_client,titre,nom,prenom,pays,adresse,code_postal,objet_sejour...).
merci de m'avoir aidé et bon code.salut
-
Message publié le mercredi 11 février 2009 - 15h03 par ikramta.
-
bon je suis vraiment bloqué psq comme tu voit le planning est déja prés existant dans la table réservation(quand je prend des exemples la tache devient impossible je ne sai pas comment résoudre ça).
salut
-
Message publié le mercredi 11 février 2009 - 19h44 par nours312.
nours312.com -- je ne suis pas codeur bénévol, mais j'aide gratos ;)
-
Tu dois sélectionner une chambre dont ni la date de fin de séjour ni la date de début ne sont incluse dans toutes les périodes de la table réservation.
Par contre, il n'y a pas de liaison entre la table hôtel et la table chambre .... ? Est-ce normal ?
select c.id_ch From chambre c, réservation r WHERE c.id_ch != r.id_ch || (c.id_ch == r.id_ch && ( $dateD > r.date_f || $dateF < r.date_d) || ($dateD NOT BETWEEN r.date_d AND r.date_f && $dateF NOT BETWEEN r.date_d AND r.date_f ))
Sachant que $dateD est la date de début de réservation souhaitée par le client et $dateF, la date de fin ...
... je crois que ceci doit fonctionner .... c'est un peu lourd ! mais ça dois répondre à ta demande ! fais des tests et dis moi ce que ça donne !
BonCode ;)
-
Message publié le mercredi 11 février 2009 - 21h44 par ikramta.
-
salut. merci bien et je m'excuse que chaque foit je te donne une information mais cet foit je te donne la liste de création de mes table sous MySql:
>create table chambre
>(
>id_ch int(10) not null auto_increment,numero_ch smallint(6) unsigned not null,etage smallint(6) unsigned not null,description_ch text,tarif_extrat decimal(6,6) unsigned,statut_ch enum('v','f'),id_type int(10),hotel varchar(100),primary key (id_ch) ,constraint id_type foreign key(id_type)references type_chambre(id_type) on update cascade,constraint hotel foreign key(hotel)references hotel(hotel) on update cascade
>);la table chambre est claire son role
>
>
>
>create table hotel
>(
>hotel varchar(100),url varchar(100),adresse varchar(200),satut enum('v','f'),primary key(hotel)
>);la table hotel pour definir pour une periode si l'hotel est ouvert ou non
>
>
>
>create table espace
>(
>id_espace int(6) not null auto_increment,nom_espace varchar(100),description text,tarif decimal(6,6),statut_es enum('v','f'),hotel varchar(100),primary key(id_espace),constraint hotel foreign key(hotel) references hotel(hotel) on update cascade
>);pour la location du SPA par exemple
>
>
>
>
>create table ouverture_h
>(
>id_saison varchar(100),description_sai text,date_debut_sai date,date_fin_sai date,hotel varchar(100),statut_sai enum('v','f'),primary key(id_saison),constraint hotel foreign key(hotel) references hotel(hotel) on update cascade
>);pour définir les saisons
>
>
>
>create table client
>(
>id_clt int(10) not null auto_increment,titre varchar(100),nom char(100),prenom char(100),pays varchar(100),adresse varchar(200),code_postal varchar(100),ville char(100),objet_sejour varchar(100),e_mail varchar(100),tel mediumint(20),fax mediumint(20),web varchar(100),numero_c_c varchar(100),titulaire varchar(100),validité date,primary key(id_clt)
>);pour definir le client
>
>
>
>
>create table reservation
>(
>numero_r int(11) not null auto_increment,date_r timestamp(14),type_r varchar(100),date_debut date,date_fin date,heure_debut varchar(30),heure_fin varchar(30),nbr_per int(4),montont decimal(7,6),mode_paiement varchar(100),id_type int(6),id_ch int(10),hotel varchar(100),id_espace int(6),id_clt int(10),primary key (numero_r),foreign key(hotel)references hotel(hotel) on update cascade, foreign key(id_type)references type_chambre(id_type) on update cascade, foreign key(id_ch)references chambre(id_ch) on update cascade, foreign key(id_espace)references espace(id_espace) on update cascade,foreign key(id_clt)references client(id_clt) on update cascade
>);cet table contien le montaont a payé et toute les info de la reservation
>
>
>create table type_ch(id_type int(10) not null auto_increment,libelle_type varchar(100),description_type text, tarif_type decimal(7,6),staut_type enum('v','f'),nb_ch_tot int(10),id_access int(10),primary key(id_type) ,foreign key(id_access)references accessoire(id_access) on update cascade) ;chaque chambre appartien a un type
enfin c'est ma version finale de ma base(veuiller me dire est_ce juste la conception en generale ou bien je doit la reprendre.je n'oubliré jamai votre service.bon nuit et bon code.
-
Message publié le mardi 17 février 2009 - 10h43 par ikramta.
-
bonjour nours312 et je m'excuse pour le retard mais tout ce temp j'étai ocupée de faire fonctionnée la requete mais rien n'est admis donc j'ai essaiyé a refaire ma conception et de réecrire ma base.merci et bon journée.bon courage aussi
-
Message publié le mardi 17 février 2009 - 14h17 par ikramta.
-
salut nours312 et merci bien.
bon j'ai changée de conception et cette nuit je vais réédité mes tables et je vai te les envoyées.
mais je t'ai déja envoyée un extrait de ma base qui est sous mysql elle existe dans le message numero 6.merci bien encore une foit et bon courage.