从MySQL中选择最后N行 - codeigniter
问题描述:
我正在使用codeigniter
;从MySQL中选择最后N行 - codeigniter
我想从我的表中获得最后N
行。
在我的查询我想最后200行:
$this->m_general->select('count(*)');
$this->m_general->from('pm');
$result_count_query = $this->m_general->get();
$count_query = $result_count_query->num_rows();
$data['all'] = $this->m_general->get('pm', array('admin_delete'=>0) , $count_query-200,$count_query, array('admin_seen'=>'asc' , 'id'=>'desc'));
但它没有返回。
我的错在哪里?
更新
下面的查询不工作得很好,它返回所有记录:
$data['all'] = $this->m_general->get('pm', array('admin_delete'=>0) ,200, array('admin_seen'=>'asc' , 'id'=>'desc'));
答
退房的API
https://ellislab.com/codeigniter/user-guide/database/active_record.html
看起来升ike你不能用get
方法做到这一点。 根据API构建您的查询。
$this->m_general->limit(200);
$this->m_general->order_by("admin_seen", "asc");
$this->m_general->order_by("id", "desc");
$data['all'] =
$this->m_general->get('pm', array('admin_delete'=>0));
答
这解决问题
$query = $this->db->query("SELECT * FROM pm WHERE admin_delete= 0 AND admin_seen=0 ORDER BY id DESC LIMIT 200");
$result = $query->result_array();
$count = count($result);
if(empty($count))
{
echo 'array is empty';
}
else{
return $result;
}
为什么不按方向只是改变您的订单,并做200强,而不是无偏移。 –
更新了我的问题。 –
get方法的api是什么。您的示例中有不同数量的参数。 –