所以我有这段代码。它从“rom”表中检索房间列表,然后应该对照“booket”中的相同房间进行检查。我怎样才能在设定的时间内打印出不在 booket 中的房间。
“Rom”-数据库如下所示:
romnavn | romtype (not relevant here)
ex: 81-77 | 2
“小册子”看起来像:
romnavn | bruker | dato | fra | til
ex: 81-77 | foo@bar.net | 03.04.2013 | 16 | 18
(这意味着房间将在 16:00:00 至 18:00:00 之间预订)
如果房间出现在两个查询中,则应该忽略它。
我的猜测是两个while循环,“ $notFreeA
”在第一个里面,但我没有得到我想要的结果。
我相当确定数据库和查询都是,嗯..,不好,但任何帮助将不胜感激:)
require "sql/sqlConnect.php";
require "functions/functions.php";
date_default_timezone_set('Europe/Oslo');
$time = date('H:i:s');
$date = date('d.m.Y');
$nearestHour = roundToNearestHour($time);
$allRooms = "SELECT * FROM rom";
$notFree = "SELECT * FROM booket WHERE dato='$date' AND fra<='$nearestHour';";
$allRoomA = mysql_query($allRooms);
$notFreeA = mysql_query($notFree);
向上/向下舍入到最近房间的函数如下所示:
function roundToNearestHour($time) {
$part = explode(":", $time);
if(count($part) != 3)
return 0;
if($part[2] > 30)
$parts[1]++;
if($part[1] > 30)
$part[0]++;
return $part[0];
}