首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >1小时后执行查询

问1小时后执行查询
EN

Stack Overflow用户
提问于 2015-10-03 08:30:53
回答 1查看 915关注 0票数 0

附表格样本。

​

每小时我都想把最近的东西加到我的桌子上。该表是从另一个源填充的,我需要跟踪我最后收到的id是什么,并获得所有添加的新项目。

代码语言:javascript
复制
$check5 = "select * from media_ids";
$rs5 = mysqli_query($con,$check5);
if(mysqli_num_rows($rs5)==1)
{
$row = mysqli_fetch_assoc($rs5);
$media_id=$row['media_id'];
}

// execute query
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-03 08:40:48

  1. 您需要创建一个每小时运行的cron作业。

crontab -e,然后添加0 * * * * php /path/to/script/script.php

  1. 向表中添加一个名为created的列,将类型设置为TIMESTAMP,将默认值设置为CURRENT_TIMESTAMP

3a。

代码语言:javascript
复制
<?php

$current = time() - 3600;
$currentMediaQuery = "select media_id from media_ids where created > {$current}"
$mediaQuery = mysqli_query($con, $currentMediaQuery);

if (mysqli_num_rows($mediaQuery) > 0) {
    while ($row = mysqli_fetch_row($mediaQuery)) {
         ... do stuff
    }
}

3b。获取10,按要求维护指针

代码语言:javascript
复制
<?php

$lastPointer = “select pointer from pointer_tracking”;
$lastPointerResult = mysqli_query($con, $lastPointer);
$lastPointer = mysqli_fetch_row($lastPointerResult)
$lastPointer = $lastPointer[0];

$currentMediaQuery = “select * from media_ids where id > {$lastPointer} limit {$lastPointer}, {$lastPointer +10}”;

$mediaQuery = mysqli_query($con, $currentMediaQuery);

if (mysqli_num_rows($mediaQuery) > 0) {
    while ($row = mysqli_fetch_row($mediaQuery)) {
        do stuff…
    }
}

if (($lastPointer + 10 > 40) {
    $lastPointer = 1;
} else {
    $lastPointer += 10;
}

mysqli_query($con, “update pointer_tracking set pointer = {$lastPointer}”);

您需要创建一个名为pointer_tracker的表,其中包含一个id和指针列,这两种类型都是整数类型。

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

https://stackoverflow.com/questions/32920500

复制
相关文章

相似问题

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