经过大量的研究、试验和错误,我终于找到了适合我的方法。这些数据都是基于餐厅动态结构化标记的条目。
创建表的SQL语句:
CREATE TABLE tbl_businesshrs (
`id` int(11) NOT NULL,
`tbl_index_id` int(11) NOT NULL,
`DoW` varchar(128) NOT NULL,
`status` enum('Open','Closed') NOT NULL COMMENT '0 is Cosed',
`start_time` varchar(128) NOT NULL,
`end_time` varchar(128) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_index_id是餐厅表中餐厅的id,它是一个索引。DoW代表一周中的某一天。
我还包括了AJAX函数来更新营业时间表格当营业时间发生变化时。然后在餐厅设置php页面上,我包括了每一天的记录源查询,以便将存储在数据库中的值更新到选择字段中。
查询语句:
<?php
$colname_rs_mondayshrs = "-1";
if (isset($_GET['restaurantid'])) {
$colname_rs_mondayshrs = $_GET['restaurantid'];
}
mysqli_select_db( $restaurant, $database_restaurant);
$query_rs_mondayshrs = sprintf("SELECT * FROM tbl_businesshrs WHERE tbl_index_id = %s
AND DoW='Monday'", GetSQLValueString($colname_rs_mondayshrs, "int"));
$rs_mondayshrs = mysqli_query( $restaurant, $query_rs_mondayshrs) or
die(mysqli_error($GLOBALS["___mysqli_ston"]));
$row_rs_mondayshrs = mysqli_fetch_assoc($rs_mondayshrs);
$totalRows_rs_mondayshrs = mysqli_num_rows($rs_mondayshrs);
?>
接下来是一周的每一天。然后, PHP stcrcmp 函数将比较数据库中开放和关闭的条目,并使用相关条目填充选择选项:
<select id="mondaystatus" onChange="update_mondaystatus()">
<option selected value="" <?php if (!(strcmp("",
$row_rs_mondayshrs['status']))) {echo "selected=\"selected\"";} ?>>Open or Closed?
</option>
<option value="Open" <?php if (!(strcmp("Open",
$row_rs_mondayshrs['status']))) {echo "selected=\"selected\"";} ?>>Open</option>
<option value="Closed" <?php if (!(strcmp("Closed",
$row_rs_mondayshrs['status']))) {echo "selected=\"selected\"";} ?>>Closed</option>
</select>
结果如下:
![enter image description here](https://istack.dev59.com/KM1b4.webp)
在数据库中的结果:
![enter image description here](https://istack.dev59.com/WtBw1.webp)
如果有兴趣或者能够帮助节省宝贵的时间,我可以添加AJAX功能。