我有一个“会议”表如下:
SessionId(Auto) SessionName SessionDate SessionTime Duration Active
1 AASEA 21-09-2012 09:00:00 01:00:00 1
2 SDERF 11-09-2012 10:00:00 01:00:00 1
3 DERSD 30-11-2012 12:00:00 01:30:00 1
现在,我想要做的是使用CRON能够将上面的会话设置为“活动”-0,如果会话是在2012年10月21日或更早之前每周举行的。因此,在上面的Session Table中,应该通过将"Active“更改为0来使前2行处于非活动状态。由于开始日期较晚,第三行不会明显更改。因此,在2013年10月21日之前,该会议不会自动停止活动。
因此,我想知道,我以前没有使用过CRON,这是一项微妙的任务,因为需要对它进行测试,以确保其工作正常,是否有人知道如何编写php/CRON脚本,以便它执行以下操作:
谢谢
发布于 2012-10-21 01:39:29
将此脚本写入php文件,并将其直接保存在应用程序中的某个位置。
<?php
$con = mysql_connect("localhost","root","password");
$db = mysql_select_db("your_database");
$createDate = mktime(0,0,0,10,21,date("Y"));
$selectedDate = date('d-m-Y', ($createDate));
$sql = mysql_query("UPDATE Session SET Active = 0 WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= '".$selectedDate."'");
?>
现在,您需要登录到您的托管站点- cPanel和访问CRON作业。在这里,您需要设置一个新的CRON job.This,这是一个关于如何设置cron作业- http://www.youtube.com/watch?v=0OBvGbyj15Q的教程。
只要用上面写的脚本替换视频中使用的url就可以了。确保您替换了凭据和数据库。
您可以将cron的工作设置为每年的10月21日,也可以每天运行。我们的脚本无论如何都会验证日期,所以如果您每天运行cron作业也没有问题。这不是一个昂贵的查询,因此所使用的资源是最少的。
https://stackoverflow.com/questions/12993950
复制相似问题