iostream 2015-12-21 10:06:49 8456次浏览 1条回复 0 0 0
$command = Yii::app()->db->createdCommand()->from('user');
$page = 1;
$pageSize = 10000;    //每次取1万条数据
$command->limit($pageSize);
do {
    $offset = ($page-1)*$pageSize;
    echo $page . ' ' . $offset . "\n";
    $command->offset($offset);
    echo "offset:" .  $command->offset . "\n" . $command-> text . "\n";
    $result = self::$command->queryAll() ;
    $count = count($result);
    $page++;
}While($count == $pageSize);

这是个死循环, 可以看到$command -> offset 一直在变,而$comand->text一直不变,一直在查询同一条语句

  • 回复于 2015-12-21 10:25 举报

    你这本来就是一个死循环啊。
    把循环删掉,直接返回$result。
    之后是按照页面传来的$page的id,来控制开始的$offset的值(如id为2,就为2*$pageSize)。

    1 条回复
    回复于 2015-12-21 10:42 回复

    不好意思,还是这段 $page++;要不然offset也不会变的

您需要登录后才可以回复。登录 | 立即注册