【发布时间】:2017-06-15 10:36:05
【问题描述】:
我的看法:
<?php echo $this->pagination->create_links();?>
我的控制器:
public function __construct()
{
parent:: __construct();
$this->load->model('admin_products_model');
$this->load->library('pagination');
}
function index()
{
$config['base_url'] = base_url().'products/index/';
$config['total_rows']=$this->db->get('products')->num_rows();
$config['per_page']=10;
$config['num_links']=10;
$config['use_page_numbers'] = TRUE;
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['products']= $this->admin_products_model->getProducts($config['per_page'],$page);
$this->load->view('products',$data);
}
我的模特:
function getProducts($limit,$offset)
{
$this->db->limit($limit);
$this->db->offset($offset);
$query = $this->db->get('products');
if($query->num_rows()>0)
{
foreach($query->result() as $row){
$products[]=$row;
}
return $products;
}
}
因此,当我单击导航链接时,结果 ID 不会按 10 个组升序排列。例如,第一页:85-95。第 2 页:86-96。等等。 而不是 85-95、96-106。
【问题讨论】:
-
我不明白您为什么要获取 num_rows,而只是
return $query->result();。您在 codeigniter 中不必要地推送核心 php。 -
您还需要检查记录是否存在 - 并检查
$this->uri->segment(3)返回您想要的数字。