我这个分页写的有什么问题么?怎么就不行呢!!!
本帖最后由 tlerbao 于 2012-5-28 17:58 编辑控制器里面
function newslist()
{
$classid = $this->uri->segment(3);
$total_rows = $this->news_mdl->get_news_num($classid);
//分页开始
$this->load->library('pagination'); //载入分也类
$config['base_url'] = site_url('news/newslist/'.$classid);
$config['total_rows'] = $total_rows; //记录总数
$config['per_page'] = 3; //每页数
$config['uri_segment'] = 4;
$config['use_page_numbers'] = TRUE;
$config['first_link'] = '首页';
$config['last_link'] = '末页';
$config['next_link'] = '下一页';
$config['prev_link'] = '上一页';
$this->pagination->initialize($config); //初始化分页
$data['newsnav'] = $this->news_mdl->get_newsnav();
$data['newslist'] = $this->news_mdl->get_news_list($classid,$this->uri->segment(4,0),$config['per_page']);
$this->load->view('news/list',$data);
}
模型里面
function get_news_num($classid) //获取栏目新闻总数
{
$query = $this->db->where('news_class',$classid)->get('dili_u_m_news');
return $query->num_rows();
}
function get_news_list($classid,$offset,$limit) //获取新闻列表分页
{
$query = $this->db->where('news_class',$classid)->order_by('id','DESC')->limit($offset,$limit)->get('dili_u_m_news');
return $query->result();
}
已经解决
$this->db->limit();
方法和原声sql的limit生成的结果是反的
limit(10,20)会变成limit(20,10) 解决分页问题,最重要的要注意三个地方:第一个地方就是取出符合结果集的条数,用到sql1;第二个地方就是取出符合结果的信息,用到sql2,第三个地方就是分页的调转地址$url;在调式的时候一定要及时的把$sql1和$sql2和$url及时的输出,就能很方便的看出错误了。{:1_1:} 支持藤椅的见解!
页:
[1]