У меня есть таблица с некоторыми полями.status
а также starting_timestamps
два из них.
значение по умолчанию status
является T. Я хочу изменить это на F после 10 дней.
starting_timestamps
хранит время запуска. Как я могу это сделать? Я в платформе php-mysql
Создайте файл php, например cron.php со следующим кодом.
В следующем коде переменные $ host, $ mysql_user, $ mysql_password, $ db, $ table должны быть заменены фактическими значениями, связанными с базой данных.
<?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);
?>
Теперь, используя свой хостинг cpanel, перейдите на cronjobs
Настройки.
Вот create a new cronjob which should run everyday
, Для задания cron введите следующую команду.
/usr/bin/php -f 'path_to_php_script.php'
Вы можете проверить прикрепленное изображение о том, как создать работу cron.
Здесь убедитесь, что path_to_php_script.php — это реальный физический путь к файлу cron.php на хост-сервере.
Ну просто.
Создайте php-файл, а затем из php-файла запустите указанный выше запрос и запустите задание cron, которое будет автоматически запускать этот файл каждый день в определенное время, и, таким образом, вы получите желаемый результат.