好的,我完全按照示例中的说明操作。最终,分页工作,有点。
我列出了所有页面:1 | 2 | > |持续。等等。
第一个是活跃的,就像它应该的那样。我也正确地进行了查询,因为每个链接都会产生正确的查询。
然而,当我点击数字2时,它会正确显示下一组产品,但它会显示第一页的分页。
无论我点击什么分页按钮,都会返回主分页集:1(选中)| 2 | > |持续。它永远不会改变!我失去了耐心,有人可以帮忙吗?
答案 0 :(得分:10)
我想我可能知道最新情况。您需要告诉分页库URL的哪个段包含偏移量。
例如,如果您的网址是/ products / browse / all / 20,则需要告诉CodeIgniter第4个网段是否包含偏移量
$config['uri_segment'] = 4;
库的默认值是URL段#3。如果您的URL中的偏移量不在位置3并且您忘记告诉分页库,则它会将错误的段解释为偏移量。这可能会导致您在上面描述的行为,其中分页似乎没有变化。
答案 1 :(得分:1)
我也遇到了同样的错误,最后能够修复它。只是想分享代码脚本,可能有人就能使用它。
=====>控制器
// Default function
function index()
{
// Display listing
$this->listing();
}
function listing($argDataArr = array())
{
// Initialize pagination
$pageArr['base_url'] = $this->config->item('categoryBeAction')."/listing";
$pageArr['total_rows'] = 15; //assume
$pageArr['per_page'] = 5; //assume
//You need to tell the pagination library which segment of the URL holds the offset.
$pageArr['uri_segment'] = 4; //URL eg: http://localhost/myproject/index.php/backend/category/listing/5
$this->pagination->initialize($pageArr);
// Get list of categories
// Create data array and pass data to get function
$dataArr['limitRows'] = $pageArr['per_page'];
$dataArr['limitOffset'] = $this->uri->segment(4); //the dynamic value from this segment will be used as offSet
$viewArr['listArr'] = $this->category_model->get($dataArr);
//rest of the code...
}
==>模型
function get($argDataArr = array())
{
//Select the fields required
$this->db->select('id, name, parent_id, status');
$this->db->from($this->config->item('tbl_category','dbtables'));
$this->db->where('parent_id', $parentId);
$this->db->limit($argDataArr['limitRows'], $argDataArr['limitOffset']);
$this->db->order_by("name", "asc");
$query_result = $this->db->get();
return $query_result;
}
==>查看页面
<!-- Pagination -->
<tr>
<td align="right">
<?php echo $this->pagination->create_links(); ?>
</td>
</tr>
答案 2 :(得分:0)
哪个例子?
echo $this->pagination->create_links();
^^这是你的观点吗?