繁体   English   中英

从MySQL选择最后N行-Codeigniter

[英]Select last N rows from MySQL - codeigniter

我正在使用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

看起来您无法使用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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM