如何每天在设定的时间执行PHP查询+;关于方法的建议

如何每天在设定的时间执行PHP查询+;关于方法的建议,php,mysql,Php,Mysql,我正在寻求一些关于我正在考虑实现的功能的建议 我有一个变量$row['summa']获取两个表中的总行数。它基本上是所有标记帖子和标记评论总数的计数。因此,我有一个echo$row['summa']的10在flagged_评论和flagged_帖子中的含义我有10行,这是正确的 现在,我想在数据库中使用以下字段创建一个新表: id date total_flagged 我需要它,以便每天(最好是每天午夜)执行一个PHP查询,该查询获取日期(我更希望是当天,即周一、周二等),并获取当天标记事件的

我正在寻求一些关于我正在考虑实现的功能的建议

我有一个变量
$row['summa']获取两个表中的总行数。它基本上是所有标记帖子和标记评论总数的计数。因此,我有一个echo
$row['summa']
10
flagged_评论
flagged_帖子中的含义
我有
10
行,这是正确的

现在,我想在数据库中使用以下字段创建一个新表:

id
date
total_flagged
我需要它,以便每天(最好是每天午夜)执行一个PHP查询,该查询获取日期(我更希望是当天,即周一、周二等),并获取当天标记事件的总数

例如:

今天是星期天。周日总共发生了10起事件。因此,在午夜,将执行一个查询以插入:

id: 1
date: sunday
total_flagged: 10 
然后,一旦执行,标记的事件总数将重置,以便我可以确定星期一标记的事件总数

我需要以上所有内容的原因是,对于我的管理端,我正在尝试实现一个图形,它将根据数据库中的PHP数据动态更新。该图将显示x轴上的天数和y轴上标记的事件数

但是,由于这个日期/日期附在图表和数据库中,我可能需要在
标记的帖子
标记的评论
表中添加一个名为
date\u-flagged
的新列


我只是不相信我努力实现的目标是最可持续的。我只是想咨询一下如何处理这个问题,以及如何每天在设定的时间执行PHP查询。

已经提到了
cron
方法。然而,以这种方式生成的数据的有效性取决于cron的可靠执行。为了使这种方法对可能出现的错误情况(例如服务器在午夜关闭、其他管理员对crontab进行意外更改等)具有鲁棒性,您必须进行一些检查和保护。此外,如果您正在使用提供商托管系统,并且需要在稍后进行迁移,则新的提供商可能不提供
cron
功能。只是说–在将
cron
与web和数据库服务混合时,需要考虑依赖关系

我更喜欢不依赖于
cron
和可能的竞争条件的解决方案。此解决方案将涉及使用注释或帖子标记日期/时间的日志扩展数据库。这将允许您在以后的任何时间计算特定一天的统计数据,而不必依赖于午夜的及时合并。如果
cron
由于某种原因发生故障,这已经可以避免一些问题


为了避免完全使用
cron
,我设置了管理端,以便生成图形的PHP脚本首先检查请求日期的图形数据是否已经计算出来。如果没有,它将计算统计数据并将其存储在数据库中。对脚本的后续调用将直接从数据库获取计算数据。这意味着一天中第一个调用方的脚本执行和响应时间更长。当然,此解决方案的可行性取决于特定设置中的执行时间、表大小等,我的建议只有在不到一分钟而不是几个小时的时间生成统计数据时才有意义。

简短回答:cron稍长回答:cron触发lynx启动的可访问web脚本,或者cron触发一个直接的PHP脚本,这意味着您不能指望有任何apache _服务器数据或包含路径等,但如果您手动设置所有这些,这不是问题。浏览器arg?只需使用cliphp