在我的房间预订系统中,我有一个建议房间页面。它收集所有可用的房间,然后根据一些标准过滤掉一些,然后存储在名为$ RoomArray的变量中。然后我从该阵列随机化一个房间并打印出来。这一切都有效,但如果所有房间都已预订,我希望它通知用户。所以我试着用while while循环。
do {
$RNDnum = rand(0,$roomcount-1);
$suggestedRoom = $RoomArray[$RNDnum];
$getRoomID = DB::GetInstance()->query("SELECT roomid FROM room WHERE roomname = '$suggestedRoom'");
$roomid = $getRoomID->results()[0]->roomid;
$bookingid = Input::get('bookingdate') . Input::get('period') . $roomid;
$CheckIfBooked = DB::GetInstance()->query("SELECT bookingid FROM booking WHERE bookingid = '$bookingid'");
if($LoopCount==$roomcount-1) {
echo 'No rooms available';
$EndLoop = true;
}
$LoopCount = $LoopCount+1;
}while (!$CheckIfBooked->count()==0 OR $EndLoop === true);
echo $suggestedRoom;
然而,由于最大执行时间导致页面失败,我打印出“没有可用房间”。所以我认为在我的条件下存在一些语法错误。