j'ai une soucis au niveau d'un script, j'explique je suis chargé de créer une apps qui permet la gestion des hotels
mon soucis se trouve au niveau de la reservation des chambres et cela lors de la verification d'une periode de reservation avant enregistrement. mon probleme est que on une chambre ne doit pas faire l'objet de deux reservations a la même periode je vous en prie aidez-moi.
voilà mon script:
<?php
if(isset($_POST['Enregistrer']))
{
if(isset($_POST['id_client']) and isset($_POST['id_chambre']) and isset($_POST['datedeb']) and isset($_POST['datefin']) and isset($_POST['prix']))
{
//connexion et selection
$cnx=mysql_connect("", "
", "");$bd=mysql_select_db("", $cnx);
//choix des variables:
$idclient=mysql_real_escape_string($_POST['id_client']);
$idchambre=mysql_real_escape_string($_POST['id_chambre']);
$datedeb=mysql_real_escape_string($_POST['datedeb']);
$datefin=mysql_real_escape_string($_POST['datefin']);
$nbre=mysql_real_escape_string($_POST['nbre']);
$datenreg= date("Y-m-d");
$prix=mysql_real_escape_string($_POST['prix']);
$montant=$nbre*$prix;
//verification de la disponibilité des chambres
$sql="SELECT count(*) FROM reservation WHERE id_chambre=$idchambre AND
($datedeb >= datedeb AND $datedeb < datefin)
OR
($datefin > datedeb AND $datefin <= datefin)
OR
($datedeb < datedeb) AND (datedeb < $datefin)
OR
($datedeb = datedeb) AND (datefin = $datefin)
OR ($datedeb = datedeb)";
$result=mysql_query($sql, $cnx) or die('Error SQL!<br/>'.$sql.'<br/>'.mysql_error());
$verif=mysql_fetch_array($result);
if($verif[0]==0)
{
//enregistrement de la reservation du client
$sql='INSERT INTO reservation VALUES("", "'.$idclient.'", "'.$idchambre.'", "'.$datedeb.'", "'.$datefin.'", "'.$nbre.'", "'.$datenreg.'", "'.$prix.'", "'.$montant.'")';
$reserv=mysql_query($sql, $cnx) or die('Error SQL!<br/>'.$sql.'<br/>'.mysql_error()) ;
}
else
{
$erreur="la chambre est occupée durant cette periode";
}
}
else
{
$erreur='Veuillez remplir le formulaire';
}
}
merci d'avance.