我在下面有一个“会话”表:
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将上面的会话设置为“活动” - 如果会话在2012年10月21日之前或当前年初提前一周举行,则为0。因此,在上面的会话表中,它应该通过将“Active”更改为0来使前两行处于非活动状态。第三行不会明显改变,因为它的开始日期稍晚。因此,该会议将在2013年10月21日之前不会自动生效。
所以我想知道因为我之前没有使用过CRON,这是一个微妙的任务,因为它需要进行测试以确保它的工作原理,是否有人知道如何编写php / CRON脚本以便它能够以下内容:
由于
答案 0 :(得分:0)
将此脚本写入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作业。这是一个如何设置一个cron作业的教程 - http://www.youtube.com/watch?v=0OBvGbyj15Q
只需使用上面编写的脚本替换视频中使用的网址,它就可以正常使用。确保替换凭据和数据库。
您可以在每年的10月21日设置cron作业,也可以每天运行。我们的脚本无论如何都会验证日期,所以如果你每天都运行cron作业也没问题。这不是一个昂贵的查询,所以使用的资源是最低限度的。