首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Cron每天将行插入数据库?

如何使用Cron每天将行插入数据库?
EN

Stack Overflow用户
提问于 2015-03-27 08:21:29
回答 1查看 4K关注 0票数 0

我有这份工作,我想一天跑一次。它检查是否是新的一天,如果是的话,它会将新行插入到我的数据库表中。我用这个来跟踪我网上商店里每件商品的每日销售情况。

  • 我还需要它从product_id的最后一行获取product_id,将其增加1,然后将其包含在我的INSERT查询中。这是为了让我可以很容易地跟踪当前的每一种产品。
  • MAX(time_stamp)也是非法代码,但是我不知道用什么替换它。我使用它为每个项目选择最新的日期,这样Cron作业就不会选择每一行。

我以前从未使用过Cron Jobs,这意味着我是个菜鸟,所以请轻松一点:)

谢谢你的帮助!)

这是我的密码:

PHP:

代码语言:javascript
复制
// Checks if past a day
$days = DB::fetch("SELECT * FROM `daily_sales` WHERE MAX(time_stamp)<=CURRENT_DATE - INTERVAL 1 DAY;");
$numrows = count($days);

// If there is a new day
if ($numrows > 0) {
    foreach ($days as $i => $day) {
        // Adds a fresh day with 0 sales
        $sales = 0;
        $product_id = $day->product_id;
        $day = // Get the day from the last row, and add 1
        $time_stamp = time();
        DB::query('INSERT INTO `daily_sales` (`product_id`, `sales`, `day`, `time_stamp`) VALUES (?, ?, ?, ?);', array($product_id, $sales, $day, $time_stamp));
    }
}

daily_sales:( DB表)

代码语言:javascript
复制
id | product_id | day | time_stamp | sales
EN

回答 1

Stack Overflow用户

发布于 2015-03-27 08:43:02

您必须打开cron作业,添加新作业并定义

如何打开cron选项卡

代码语言:javascript
复制
crontab -e

将以下内容添加到cron选项卡中

代码语言:javascript
复制
0 0 * * * php /full/path/to/script.php

您可以使用mysql触发器http://www.mysqltutorial.org/mysql-triggers.aspx,它将允许您创建包含daly的“审核”表。因此,您可以使用“后插入”插入/更新审核表。

希望这能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29296131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档