Pb Systeme de reservation de salles en php mysql

ed1982
Messages postés
14
Date d'inscription
samedi 20 août 2005
Statut
Membre
Dernière intervention
30 août 2007
- 21 août 2007 à 14:49
ed1982
Messages postés
14
Date d'inscription
samedi 20 août 2005
Statut
Membre
Dernière intervention
30 août 2007
- 21 août 2007 à 15:30
Bonjour,

Je dois programmer un systeme de reservation de salle de reunion. Pour l instant je ne me contente que d une seule salle. Je veux pouvoir a partir d un formulaire rempli sur le site par l utilisateur, reserver la salle en passant par ma BDD. Mais, le plus difficile a respecter, ce sont les horaires, etant donne que je veux qu un message d erreur s affiche si jamais la plage horaire demandee est deja reservee par qq un d autre,
 
avec $jour_reservation,$debut_reservation,$fin_reservation  les informations venant du formulaire. $jour_reservation est une date, les 2 autres sont des text.
et $j_reservation,$d_reservation,$f_reservation, les informations de la bdd.
$j_reservation est une date
$d_reservation,$f_reservation sont des Time
Est ce que syntaxiquement, cela vous parait correct? Je pense qu il y a un probleme car ca n affiche pas ce que je veux.

if($jour_reservation=$j_reservation)
{
    if($f_reservation>$debut_reservation and $debut_reservation>$d_reservation)
        {echo "cette date est deja prise!! cas n1";}
    if($f_reservation>$fin_reservation and $fin_reservation>$d_reservation)
        {echo "cette date est deja prise!!cas n2";}
    if($debut_reservation<$d_reservation and $fin_reservation>$f_reservation)
        {echo "cette date est deja prise!!cas n3";}
    if($debut_reservation>$d_reservation and $fin_reservation<$f_reservation)
        {echo "cette date est deja prise!!cas n4";}   
    if($debut_reservation<$d_reservation and $fin_reservation<$d_reservation)
        {mysql_query("INSERT INTO salles(salles_id, debut_reservation, fin_reservation, profil_id, jour_reservation) VALUES ('', '$debut_reservation', '$fin_reservation', '$idprofil', '$jour_reservation')");   
echo "Votre demande de reservation a bien ete prise en compte. Vous avez reserve la salle de reunion le $jour_reservation de $debut_reservation a $fin_reservation ";
        }
    //if($debut_reservation=$d_reservation)
        //{echo "cette date est deja prise!!cas n5";}
    //if($fin_reservation=$f_reservation)
        //{echo "cette date est deja prise!!cas n6";}
}       
else
{mysql_query("INSERT INTO salles(salles_id, debut_reservation, fin_reservation, profil_id, jour_reservation) VALUES ('', '$debut_reservation', '$fin_reservation', '$idprofil', '$jour_reservation')");   
echo "Votre demande de reservation a bien ete prise en compte. Vous avez reserve la salle de reunion le $jour_reservation de $debut_reservation a $fin_reservation ";}
 }

Ce code peut il etre ameliore, ou faut il utiliser un autre algo?
Merci pour votre aide

2 réponses

raven44
Messages postés
315
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
21 mars 2011
1
21 août 2007 à 15:06
Bonjour,

Tu peux faire une succession de "IF", ce serait peut être plus propre avec un "choix selon" mais ce n'est qu'une question de point de vue.
0
ed1982
Messages postés
14
Date d'inscription
samedi 20 août 2005
Statut
Membre
Dernière intervention
30 août 2007

21 août 2007 à 15:30
Oui je pourrais faire case1, case2... mais la je voudrais deja savoir si cest possible de comparer des heures et des dates comme ca. Et j ai un probleme avec celles ci d ailleurs, car dans ma BDD, elles sont normes comme ca HH:MM:SS ce qui est assez ennuyeux car je ne vais pas demander aux utilisateurs d indiquer les secondes dans le champs reservation, et si on ne les mets pas ca ne prend pas bien l heure souhaite, ca decale les heures, minutes de 2 rangs, logique...
0