Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用日期函数mysql,设置cron作业_Php_Mysql_Date_Cron - Fatal编程技术网

Php 使用日期函数mysql,设置cron作业

Php 使用日期函数mysql,设置cron作业,php,mysql,date,cron,Php,Mysql,Date,Cron,我正在做一个会员账户页面。该页面运行良好,我的表中有一行显示该人员注册的日期。人们会下订单,我想在他们的账户页面上显示他们的积分。我想写的函数是30天后,累积点从0开始。我正在考虑通过我的cPanel为此设置一个cron作业。但是我不知道如何使用date函数来检查30天是否过去了。这基本上是我目前的想法: `<?php //connect to my database and run a query for the date I already have //set the date t

我正在做一个会员账户页面。该页面运行良好,我的表中有一行显示该人员注册的日期。人们会下订单,我想在他们的账户页面上显示他们的积分。我想写的函数是30天后,累积点从0开始。我正在考虑通过我的cPanel为此设置一个cron作业。但是我不知道如何使用date函数来检查30天是否过去了。这基本上是我目前的想法:

`<?php 
//connect to my database and run a query for the date I already have
//set the date to a variable using mysql_fetch_assoc(query)

//now the part where I need help for the function
if(registerdate == (registerdate+30days){
sql = mysql_query("UPDATE members SET accPoints='0' WHERE id='$userid' and username='$username'");
}
?>`

`您应该能够在查询本身中执行此操作:

"UPDATE members SET accPoints='0' WHERE id='$userid' and username='$username' AND registerdate + interval 30 DAY < NOW()"

你可以做很多不同的事情。您可以使用将日期转换为UNIX时间戳,并添加秒数,以查看您的cron作业是否达到阈值,或者使用纯SQL根据WHERE子句返回所有需要“点数”的人。

您应该使用mysql日期函数,而不是php日期函数。如果它真的那么简单,那应该适合我。我的第二个问题是如何在表中的一个id下添加多个值,然后解析并显示它?好的,这对我来说是一个新问题,多对多关系。如果我创建了一个新表,当一个成员下订单时,我只输入id、订单和日期,然后查询该数据库中会话设置的相同id,并将其显示在成员页面上,该怎么办?这样行吗?希望这有道理。是的,这是相同的想法。我给出的查询是如果您想检索多个数据。好的,非常感谢您的帮助!
SELECT o.* FROM users u, orders o WHERE u.user_id = 1 AND o.user_id = u.user_id