PHP从MySql获取最多1000个条目
所以我的问题是: 我正在开发WordPress插件,并从自定义数据库表中获取值。让我们调用表设备。从设备表中,我现在从列ID获取所有条目。但我的问题是:如果这个列有1000多个条目,我需要“拆分”它们,我的意思是,我需要先获得前1000个条目,然后是下1000个条目,直到我到达终点。你知道如何在php中实现这一点吗 例如,这就是我现在获取ID的方式:PHP从MySql获取最多1000个条目,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,所以我的问题是: 我正在开发WordPress插件,并从自定义数据库表中获取值。让我们调用表设备。从设备表中,我现在从列ID获取所有条目。但我的问题是:如果这个列有1000多个条目,我需要“拆分”它们,我的意思是,我需要先获得前1000个条目,然后是下1000个条目,直到我到达终点。你知道如何在php中实现这一点吗 例如,这就是我现在获取ID的方式: function hlp_getIds() { global $wpdb; $table_name = $wpdb->prefix.'d
function hlp_getIds() {
global $wpdb;
$table_name = $wpdb->prefix.'devices';
$devices = array();
$sql = "SELECT id FROM $table_name";
$res = $wpdb->get_results($sql);
if ($res != false) {
foreach($res as $row){
array_push($devices, $row->id);
}
}
return $devices;
}
那么,如何集成一种方法,一次只获取1000个条目而不是所有条目呢?使用限制
select id
from device
order by id
limit 0, 1000
为了得到下一个1000美元,你要做什么
select id
from device
order by id
limit 1000, 1000
使用limit
select id
from device
order by id
limit 0, 1000
为了得到下一个1000美元,你要做什么
select id
from device
order by id
limit 1000, 1000
Google“分页”
您可能还会发现SQL\u CALC\u FOUND\u ROWS
在查询中很有用-它可以让您找出如果限制不存在(使用SELECT FOUND\u ROWS()
)会返回多少条记录-这是一个相当好的方法来确定您是否在“最后一页”。Google“分页”
您也可能会发现SQL\u CALC\u FOUND\u ROWS
在查询中很有用-它可以让您知道如果限制不存在,将返回多少记录(使用选择FOUND\u ROWS()
)-这是一个很好的方法来确定您是否在“最后一页”。感谢您的快速回答,但是我如何在循环内完成它呢?使用一个PHP变量作为限制值limit$offset,1000
,并且$offset
从0
开始感谢快速的回答,但是我如何在循环内完成它呢?使用一个PHP变量作为限制值limit$offset,1000
和$offset
从0开始