だから私はこのコードを持っています。テーブル「rom」から部屋のリストを取得し、「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まで予約されることを意味します)
部屋が両方のクエリに表示される場合は、無視する必要があります。
私の推測では$notFreeA
、最初のループ内に 2 つの while ループ " " がありましたが、必要な結果が得られません。
DBとクエリの両方が悪いと確信していますが、何か助けていただければ幸いです:)
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];
}