5

好的,我完全按照示例中的说明进行操作。最终,分页工作,有点。

我得到了所有列出的页面:1 | 2 | > | 最后的。等等。

第一个是活跃的,就像它应该的那样。我也正确地进行了查询,因为每个链接都会产生正确的查询。

但是,当我单击数字 2 时,它会正确显示下一组产品,但会显示第一页的分页。

无论我点击什么分页按钮,都会返回主分页集:1(选中)| 2 | > | 最后的。它永远不会改变!我正在失去耐心,有人可以帮忙吗?

4

3 回答 3

10

我想我可能知道发生了什么事。您需要告诉分页库 URL 的哪个段包含偏移量。

例如,如果你的 URL 是 /products/browse/all/20,你需要告诉 CodeIgniter 第 4 段保存偏移量

$config['uri_segment'] = 4;

库的默认值为 URL 段 #3。如果您的 URL 中的偏移量不在位置 3 并且您忘记告诉分页库,它会将错误的段解释为偏移量。这可能会导致您在上面描述的那种行为,其中分页似乎没有改变。

于 2010-03-31T22:33:00.860 回答
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>
于 2011-12-22T15:06:00.120 回答
0

哪个例子?

echo $this->pagination->create_links();

^^在你看来是这样吗?

于 2010-03-31T14:24:44.230 回答