我们需要看看这些图片
在这里
在这里
我在桌面上有十条记录,且该链接无效,这里是controller/index
$query = $this->m_kategorimaterial->get();
$config['base_url'] = base_url().'index.php/c_kategorimaterial/index/';
$config['total_rows'] = $query->num_rows();
$config['per_page'] = 5;
$this->pagination->initialize($config);
$data['rows'] = $query->result();
$data['title'] = 'QB Kategori Material';
$this->load->view('menu',$data);
$this->load->view('v/vkategorimaterial');
这是模型
$this->db->order_by('Kode_Kategori_Material_Jasa','DESC');
$query = $this->db->get('ms_kategori_material');
return $query;
为什么链接不起作用?我该如何解决?谢谢stackoverflow
答案 0 :(得分:1)
尝试设置
$config['uri_segment'] = 3;
以下是您需要的完整信息> http://codeigniter.com/user_guide/libraries/pagination.html
答案 1 :(得分:1)
您在哪里调用数据收集查询中的偏移量?您需要为查询提供偏移量,以便它知道要获取哪些记录。
您还必须将total_rows更改为查询整个表的总记录的第二个查询,因为您的新查询仅返回一页的足够记录。
型号:
$this->db->order_by('Kode_Kategori_Material_Jasa','DESC');
$query = $this->db->get('ms_kategori_material', $limit, $offset);
return $query;
function getRecordCount() {
$query=$this->db->get('ms_kategori_material');
$result = $query->num_rows();
return $result;
}
控制器:
$config['base_url'] = base_url().'index.php/c_kategorimaterial/index/';
$config['total_rows'] = $query->num_rows();
$config['per_page'] = 5;
$this->pagination->initialize($config);
$query = $this->m_kategorimaterial->get($config['per_page'],$this->uri->segment(3));
$data['rows'] = $this->m_kategorimaterial->getRecordCount();
$data['title'] = 'QB Kategori Material';
$this->load->view('menu',$data);
$this->load->view('v/vkategorimaterial');
似乎你可以对这里发生的事情做一个小解释。分页CI(或任何应用程序)至少需要3个变量。
limit - 我应该显示每页的记录数,以及我的查询返回的记录数。
offset - 查询开始询问记录的位置,CI这是uri段进入的位置,它部分受限制控制,因此如果您有8作为限制(per_page),则每个查询将偏移量增加8。因此,第1页向数据库查询从头开始的前8个记录,第2页查询从记录9开始的前8个记录,依此类推。
总记录数 - 这是整个表中查询的总匹配记录。这就是应用程序如何确定总共有多少页面以及是否需要第二页面。此查询没有限制或偏移量,因为您需要所有匹配的记录而不是部分返回。
数据的实际分页由数据库查询执行。 CI只是告诉数据库它需要哪些记录。
希望有助于澄清事情。