purtroppo continuo ad avere problemi.. quello che ho fatto è :
codice:
// controllo se la postazione è occupata per orario e giorno scelti
$sql="SELECT Postazione,Giorni,Mesi,Ora_in,id_utente FROM `prenotazione`".
"where Postazione='$postazione' AND Giorni='$giorni'AND Mesi='$mesi' AND Ora_In='$orari' AND id_utente !=".$_SESSION['matricola']." ";
$check=mysql_query($sql,$conn_db) or die(mysql_error());
// Mysql_num_row conta le righe della tabella
$count=mysql_num_rows($check);
if($count==1){
$prova = mysql_query("SELECT Postazione,Giorni,Mesi,Ora_In FROM `prenotazione`");
$record=array();
$all=array();
while ($result = mysql_fetch_array($prova) ) {
$record['Postazione']=$result['Postazione'];
$record['Giorni']=$result['Giorni'];
$record['Mesi']=$result['Mesi'];
$record['Ora_In']=$result['Ora_In'];
$all[]=$record;
}
$j=count($all);
for($i=0; $i = $j; $i++) {
$or_db=explode(" ",$result[0]."".$result[1]."/".$result[2]."".$result[3]);
list(,$val)=each($or_db); //lista fascia oraria presente nel db
$val=$result[3];
$campi=explode(" " ,$orari);
list(,$valore)=each($campi); //lista fascia oraria scelta dall'utente
$diff_entrata=($val[0].$val[1])-($valore[0].$valore[1]);
$diff_uscita=($val[6].$val[7])-($valore[6].$valore[7]);
$ora_1aparte=$valore[0].$valore[1]; //orario iniziale scelto dall'utente
$ora_2aparte=$valore[6].$valore[7]; //orario finale scelto dall'utente
$val_1aparte=$val[0].$val[1]; //orario iniziale presente nel db
$val_2aparte=$val[6].$val[7]; //orario finale presente nel db
if(($diff_entrata <='0') && ($diff_uscita>='0')){
//orario di ingresso e di uscita scelto in fascia oraria prenotata ->> dB: 09:00-13:00 utente: 09:00-12:00
$errore="la fascia oraria scelta è interna ad una già prenotata"." orario nel db ".$val_1aparte.":00 ".$val_2aparte.":00"." orario scelto dall'utente ".$ora_1aparte.":00 ".$ora_2aparte.":00";
$_SESSION['errore']=$errore;
header("location:postazione.php?scritta=".$errore);
}
if(($diff_entrata <='0') && ($diff_uscita<'0')){ //DB: 09:00-12:00 utente: 09:00-13:00
// se l'orario d'ingresso scelto è uguale a quello presente nel db ma quello di uscita è maggiore
$errore="la postazione è libera dalle ".$val_2aparte;
$_SESSION['errore']=$errore;
header("location:postazione.php?scritta=".$errore);
}
/*else {
$errore="la fascia oraria scelta è già stata prenotata"." orario nel db ".$val_1aparte.":00 ".$val_2aparte.":00"." orario scelto dall'utente ".$ora_1aparte.":00 ".$ora_2aparte.":00";
$_SESSION['errore']=$errore;
header("location:postazione.php?scritta=".$errore);
}*/
}//chiudo il for
}