从php脚本方面解决的话,那就是每分钟用ajax请求一次php脚本,检查订单状态和当前时间,30分钟后检查到订单无异,测php更新订单到关闭状态,这个地方需要用到setTimeout了,循环执行请求,但是缺点是页面必能关闭,关闭了js就不执行,所以这个方法不太可取,30分钟时间太长,不可能不进行其他页面行为。
使用Mysql 定时计划任务(推荐你使用),语法体
create event myeventon schedule at current_timestamp + interval 1 hour (周期或者时间点)
do
update myschema.mytable set mycol = mycol + 1 (执行的sql
详细使用可以参考:https://segmentfault.com/a/1190000005142597,很清楚
我们以一个提交订单和显示订单信息的例子为学习PHP的开始。这个例子包含两个文件。一个提交订单的html文件:orderform.html,一个显示订单信息的php文件:processorder.php。我将这两个文件放在test_1文件夹下,将test_1文件夹放在htdocs目录下。文件的组织形式如下图所示,使用xampps安装的集成环境。
提交订单的html文件orderform.html如下所示:
<form action="processorder.php" method="post">
<table>
<tr bgcolor="#cccccc">
<td width="150">Item</td>
<td width="15">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>
</tr>
</table>
</form>
显示订单信息的php