假设每次循环获取5条数据:
//方法一:(数据量大的后面查询速度会变慢 limit 10000,5)
$flag = true;
$limit = 0;
while($flag){
$sql = "select id,name from table limit {$limit} , 5";
$data = $db->select($sql);
//todo 你的逻辑
if(!$data){//数据为空,直接停止循环
$flag = false;
break;
}
$limit += 5;//每次获取后面5条,直至数据查询为空.
}
//方法二:
$id = 0;
$limit= 5;
while(true){
$sql = "select id,name from table where id > {$id} limit {$limit}";
$data = $db->select($sql);
if(!$data){
break;
}
//todo 你的逻辑
if(count($data)<$limit){
break;
}
$id = $data[$limit-1]['id'];//获取最后一次查询的Id用于下次对比
}