每月自动插入数据库


Auto Insert In Database Every Month

我想要一个每月插入数据的功能。。。

我有一些想法来实现这一点,如下所示。。。。

当用户创建"发票"时,"发票"会在用户创建后的下个月自动生成。

让我们有一些代码。。。

INSERT INTO INVOICE (id,user,date,bill_money) VALUES ('','XYZ','25/03/2015','100');

这个现在运行得很好,下个月应该自动插入相同的条目。。

为此,我有一个逻辑,当用户在那个时间首次登录门户时,我必须检索用户的最后一次登录,从那个日期到当前登录日期,我试图插入那些30天前的数据。。。

我选择用户上次登录日期后的第二天(日期),然后检查截至当前日期的每一天。

检索用户上次登录日期

echo $this->session->userdata('name')

检查间隔lastlogindate() + INTERVAL 30 DAY == NOW()如果这变为真,则插入数据

但这里的问题是,我想实施一个月、四个月、一年这种流动性更好还是有其他方法可以做到这一点。。??

我听说了cron jobMySQL Event,哪一个在这两者中最好,以及它们是如何工作的,哪一种在性能方面是有效的。。。

我想听听这方面的建议。非常感谢。

如果您想要定期发票。只需将发票存储一次,然后安排一个cron作业,该作业将在计划的时间每天运行。Cron job将运行您的php脚本来做任何您想做的事情:将发票存储在数据库中或通过电子邮件发送给用户。如果您不了解cron作业,可以在以下答案中找到基础知识:如何使用PHP创建cron作业?

EDIT:您必须使用cli 来安排cron作业

Mysql事件

我认为这对我来说更好,因为我没有使用Cron Job。。。

对于Mysql事件签出语法,并有一个有趣的。。。