如何使用拆分数组拆分表列

时间:2014-05-22 00:54:28

标签: php mysql

我目前正在寻找一种方法来拆分数据库,以便在60分钟左右后发送消息。我有一个从数据库返回超过1000行的表,并希望将它们分成50组。我将很感激如何实现这一目标的一个例子。谢谢。

2 个答案:

答案 0 :(得分:0)

您可以创建一个导航到类似以下内容的脚本:

runner.php?start=0&limit=50

此页面将从第0行开始,并执行50次重复。经过50次重复后,它会回响:

<script>setTimeout(function() {
    window.location='runner.php?start=50&limit=50';
}, 3600000)</script>

其中start=50$_GET['start'] + $_GET['limit']

您需要打开浏览器窗口。

答案 1 :(得分:0)

您可以使用array_chunk

$chunks = array_chunk($results, 50);
foreach ($chunks as $i => $chunk) {
    if ($i != 0) {
        sleep(3600); // Pause an hour except at the beginning
    }
    foreach ($chunk as $row) {
        // Do what you want with the row
    }
}

不要在网页上执行此操作,因为浏览器会超时等待结果。但您可以在CLI脚本中执行此操作。