本人自开发的一个宠物医院信息系统,其中挂号预约模块的功能显示如图所示,代码如下所示:
<td align="right">时间段:</td>
<td><select name="shijianduan" id="ddlShijianduan" style="font-size:18px;width:160px;height:40px;">
<option value="8:00-8:20">上午8:00-8:20</option>
<option value="8:20-8:40">上午8:20-8:40</option>
<option value="8:40-9:00">上午8:40-9:00</option>
<option value="9:00-9:20">上午9:20-9:40</option>
<option value="9:40-10:00">上午9:40-10:00</option>
<option value="10:00-10:20">上午10:00-10:20</option>
<option value="10:20-10:40">上午10:20-10:40</option>
<option value="10:40-11:00">上午10:40-11:00</option>
<option value="11:00-11:20">中午11:20-11:40</option>
<option value="11:40-12:00">中午11:40-12:00</option>
<option value="12:00-12:20">中午12:00-12:20</option>
<option value="12:20-12:40">中午12:20-12:40</option>
<option value="12:40-13:00">中午12:40-13:00</option>
<option value="13:00-13:20">下午13:00-13:20</option>
<option value="13:20-13:40">下午13:20-13:40</option>
<option value="13:40-14:00">下午13:40-14:00</option>
<option value="14:00-14:20">下午14:00-14:20</option>
<option value="14:20-14:40">下午14:20-14:40</option>
<option value="14:40-15:00">下午14:40-15:00</option>
<option value="15:00-15:20">下午15:00-15:20</option>
</select></td>
现在想要实现,第一个用户预约完某一时间段(如8:00-8:20),下一个用户进来预约时,8:00-8:20的时间段选项不存在,或者说不能选择,求大神们指点一二。
同上,建议将时间段放到数据库中,给一个状态(0-未选,1-已选),此处查询数据库显示状态为0(未选)的时间段。
新建一个时间段表(id,value,status)
预约用户信息你是需要存放到数据库中,在里面加上一个预约时间段的id进行关联时间段的状态。
下拉选里面查询状态为0的时间段信息进行显示。
做个定时任务,每天8点前更新所有时间段的状态为0。
建议把时间分配放到数据库里,给一个状态,如果某个时间被预约了,那么改为预约状态,只查询不是预约状态的时间段,
如果时间段的区分,每天都是一样的话,你可以吧这些数据写在数据库里,然后每次在页面刷新的时候,用ajax动态去后台取最新的,
再见一张表存每天预约的记录,获取最新时间段列表时,链表查询,查询在预约记录表里不存在当天预约记录的选项,返回给前台显示
每一个时间段里面都设置一个预约状态,状态变化就关闭预约,不过这种功能不好,非常容易被黑死
预约时间段如果是固定值,可以存redis,或者定义一个全局变量,多个用户可以选
择同一个值,预约单入库时对比一下这个缓存值,是否存在,存在即入库并且删缓存值,不存在则代表已经预约,不能进行预约。下拉框时间选择的值也可以从缓存区,每天凌晨重置
搞错了,再来!以上是针对当天预约,跨天预约的:建立一个成功预约,未症断预约单表。(数据量贼小,反应快)当用户选择预约时间的时候,入参日期,时间段,查一波这个表就行了。
觉得可行的话,采纳走一波 -0.0-
用JSTL的<c:foreach>标签试试