我用php和html编写了一个页面。在输入事件名称和状态等数据后,将它们插入数据库的表中。我需要在每月的第一天重置“出席”列,以准备接收新的出勤数据。
我如何确保当日期等于01 /月/年时,“出勤”列会被重置?
这是我尝试使用的代码,但显然不起作用:
<?php
$luca = "Presente";
$mysqli = new mysqli('localhost', 'root', 'password');
if ($mysqli->connect_error) {
die('Errore di connessione (' . $mysqli->connect_errno . ')' . $mysqli->connect_error);
}
// Creo il database
$mysqli->query("CREATE DATABASE presenze");
// Seleziono il database
$mysqli->query("USE presenze");
$mysqli->query("CREATE TABLE 'presenze'
( 'id' INT ( 5 ) NOT NULL AUTO_INCREMENT,
'nome' VARCHAR(30) NOT NULL ,
'cognome' VARCHAR(30) NOT NULL ,
'presenze' TEXT NOT NULL)");
$query = "INSERT INTO presenze (nome, cognome, presenza, id) VALUES ('Luca', 'Gamerro', '$luca', '1')";
if (!$mysqli->query($query)):
die($mysqli->error);
endif;
if (date() == '01/**/**'):
$query = $mysqli->prepare("DELETE FROM presenze WHERE id = 1");
$query->bind_param('i', $id);
$result = $query->execute();
endif;
?>
谢谢!
答案 0 :(得分:0)
您可以使用MySQL Scheduled Event。只需通过PHP或直接SQL命令将此查询输入数据库中即可。
CREATE EVENT your_event ON SCHEDULE
EVERY 1 MONTH
STARTS '2016-05-01 00:00:00'
ON COMPLETION PRESERVE ENABLE
DO
DELETE * FROM table_name WHERE id = 1