我有一个包含一些字段的表格。status
和starting_timestamps
是其中两个字段。
status
的默认值为 T 。我希望在10天后将其更改为 F 。
starting_timestamps
存储开始的时间。我怎么能这样做?我在php-mysql平台
答案 0 :(得分:1)
创建一个php文件,例如cron.php,代码如下。
在以下代码中,变量$ host,$ mysql_user,$ mysql_password,$ db,$ table将替换为实际的数据库相关值。
conf/web.xml
现在使用您的托管cpanel,转到<?php
$host = 'localhost';
$mysql_user = 'root';
$mysql_password = 'your password';
$db = 'databaename';
$table='actual table name';
$link = mysql_connect($host, $mysql_user, $mysql_password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db($db, $link);
if (!$db_selected) {
die ('Can\'t use '.$db.': ' . mysql_error());
}
$result = mysql_query('UPDATE `'.$table.'`
SET status=\'F\'
WHERE
(UNIX_TIMESTAMP( now( ) ) - `starting_timestamps`) /86400 = 10');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
//close connection
mysql_close($link);
?>
设置。
此处cronjobs
。对于cron作业,请输入以下命令。
create a new cronjob which should run everyday
您可以查看附加图片,了解如何创建cron作业。
这里确保'path_to_php_script.php'是托管服务器上cron.php文件的真实物理路径。
答案 1 :(得分:0)
很简单。
创建一个php文件,然后从php文件运行上面的查询并启动一个cron作业,该作业将在特定时间每天自动运行该文件,从而获得您想要的结果。