My PHP code:
function getMasterBookRoomsaAvailability(){
$DisponibilitaRoom = [
'Resource' => null,
'IntervalTime' => [],
];
$conn = new mysqli($this->servername, $this->username, $this->password,$this->MySQLDB);
$sql = "SELECT IDRoom,Nomeroom,Dayofweek,Nome,Aperto,OrarioApertura,OrarioChiusura,Durataminuti FROM room
INNER JOIN giorni ON room.IDRoom = giorni.FKRoom
INNER JOIN durategame ON room.IDRoom = durategame.FKRoom
WHERE room.Statobloccato <> 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row/*
while($row = $result->fetch_assoc()) {
$IDRoom = $row['IDRoom'];
$Nomeroom = $row['Nomeroom'];
$Dayofweek = $row['Dayofweek'];
$Nome = $row['Nome'];
$Aperto = $row['Aperto'];
$OrarioApertura = $row['OrarioApertura'];
$OrarioChiusura = $row['OrarioChiusura'];
$Durataminuti = $row['Durataminuti'];
$DisponibilitaRoom['Resource'] = $Nomeroom;
$DisponibilitaRoom['IntervalTime'][$Nome] = $this->selectTimesOfDay($OrarioApertura,$OrarioChiusura,$Durataminuti);
}
}
return $DisponibilitaRoom;
}
// Funzione: prende tutti gli orari di intervallo tra due date splittate dalla durata.
// Params: Array contenente Orario Apertura della room, Orario di chiusura della room, durata prenotabile
// Resultset: restituisce un Array contenente gli orari disponibili
function selectTimesOfDay($startTime,$endTime,$duratagame) {
$hours = null;
//var_dump($DisponibilitaRoom);
$open_time = strtotime($startTime);
$close_time = strtotime($endTime);
$duratagame = $duratagame * 60;
$output = "";
for( $i=$open_time; $i<$close_time; $i+=$duratagame) {
//if( $i < $now) continue;
$output = date("H:i",$i);
$hours[] = date('H:i', $i);
}
return $hours;
}
echo json_encode($RB->getMasterBookRoomsaAvailability());
My result is this: {"Resource":"Padel 1","IntervalTime":{"Lun":["11:00"],"Mar":["11:00"],"Mer":["11:00"],"Gio":["11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00"],"Ven":["11:00"],"Sab":["11:00"],"Sun":["09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00"]}}
but there are missing the "Tennis 1" resource and all it availability hours.
I dont know the semanthic right way, do you have any idea?
I'm expecting something like:
Resources
- Padel 1
-- LUN ['09:00','10:00','11:00']
-- MAR ['09:00','10:00']
...
- Tennis 1
-- LUN ['09:00','10:00','11:00']
-- MAR ['09:00','10:00']
