0
我试图根据打开和关闭时间在我的数据库中显示店铺是否打开或关闭。如果是打开显示当天的开启和关闭时间,则关闭回显关闭。我目前的问题是,即使店铺计划开放(尝试1)或根本没有回应任何东西(尝试2),我的查询仍然是封闭的。店铺开门和关门时间,打开时显示关闭
我DB中的封闭商店被表示为00:00。 任何建议或指导将不胜感激,因为我正在教我自己,并已停下来。
DB
CREATE TABLE `Opening_hrs` (
`OH_ID` bigint(255) NOT NULL AUTO_INCREMENT,
`Restaurant_ID` bigint(255) NOT NULL,
`Day_of_week` int(11) NOT NULL,
`Open_time` time NOT NULL,
`Closing_time` time NOT NULL,
PRIMARY KEY (`OH_ID`),
KEY `Restaurant_ID` (`Restaurant_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
这是我第一次尝试
date_default_timezone_set("Europe/London");
$output_ohr = '';
$ohrs = mysqli_query($dbc, "SELECT * FROM Opening_hrs
WHERE Restaurant_ID='$rest_id' AND Day_of_week = DATE_FORMAT(NOW(), '%w')
AND CURTIME() BETWEEN Open_time AND Closing_time");
echo var_dump($ohrs);
$count_ohrs = mysqli_num_rows($ohrs);
if ($count_ohrs === 0) {
$output_ohr = '<b> Closed</b>';
} else {
$i = 1;
}while ($row_ohr = mysqli_fetch_array($ohrs)) {
$o_time = $row_ohr['Open_time'];
$c_time = $row_ohr['Closing_time'];
$output_ohr = $output_ohr . '<p>Open</p>' .
'<p>' .$o_time. ' - ' .$c_time. '</p>'
;
$i++;
}
我的第二次尝试
date_default_timezone_set("Europe/London");
$closed= strtotime("00:00am today GMT");
$output_ohr = '';
$ohrs = mysqli_query($dbc, "SELECT * FROM Opening_hrs
WHERE Restaurant_ID='$rest_id' AND Day_of_week = DATE_FORMAT(NOW(), '%w')
AND CURTIME() BETWEEN Open_time AND Closing_time");
echo var_dump($ohrs);
$i = 1;
while ($row_ohr = mysqli_fetch_array($ohrs)) {
$o_time = $row_ohr['Open_time'];
$c_time = $row_ohr['Closing_time'];
if($o_time === $closed){
$output_ohr = '<p>closed</p>';
}else{
$output_ohr = $output_ohr . '<p>Open</p>' .
'<p>' .$o_time. ' - ' .$c_time. '</p>'
;
$i++;
}
}
谢谢您的帮助和时间,但是这也行不通 – Blue
@蓝色你能更具体吗? – ShiraNai7
即使餐厅开放,它也会关闭。 – Blue