2014-10-06 85 views
0

所以我的问题是以下内容:PHP获取最大。 1000条目从MySql

我正在开发一个WordPress插件,我从自定义数据库表中获取值。让我们打电话给桌子设备。从设备表中,我现在可以从colum 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个条目,而不是所有的项目?

+1

谷歌' “分页”' – 2014-10-06 15:06:51

+0

您也可以找到'SQL_CALC_FOUND_ROWS'查询有用 - 它会允许你找出在LIMIT不存在的情况下会返回多少条记录(使用'SELECT FOUND_ROWS()') - 如果你在“最后一页”,这是一个很好的解决方法。 – CD001 2014-10-06 15:20:40

回答

4

使用limit

select id 
from device 
order by id 
limit 0, 1000 

获得下一个1000做

select id 
from device 
order by id 
limit 1000, 1000 
+0

感谢您的快速回答,但我怎么能在循环内做到这一点? – 2014-10-06 15:08:34

+0

使用一个PHP变量作为极限值'limit $ offset,1000'和'$ offset'从'0'开始 – 2014-10-06 15:10:06

+0

好的非常感谢你,我会试试看 – 2014-10-06 15:10:37