Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从MySql获取最多1000个条目_Php_Mysql_Sql_Wordpress - Fatal编程技术网

PHP从MySql获取最多1000个条目

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

所以我的问题是:

我正在开发WordPress插件,并从自定义数据库表中获取值。让我们调用表设备。从设备表中,我现在从列ID获取所有条目。但我的问题是:如果这个列有1000多个条目,我需要“拆分”它们,我的意思是,我需要先获得前1000个条目,然后是下1000个条目,直到我到达终点。你知道如何在php中实现这一点吗

例如,这就是我现在获取ID的方式:

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开始