在codeigniter分页类中使用页码?

在codeigniter分页类中使用页码?,codeigniter,pagination,Codeigniter,Pagination,我在分页类中使用use_page_numbers config设置为true时遇到问题! 当我单击第2页的链接时,它从数据库检索的行数是正确的,但问题是: 第2页的第一行是第一页的第三行!这意味着第2页从第三行的第一页中检索到的数据库中的同一行开始。例如: 第1页:10、11、12、13、14 第2页:12、13、14、15、16 当然,第3页从第2页的第二行开始: 第3页:13、14、15、16、17 这是我的代码: function get_brands_list($options = ar

我在分页类中使用use_page_numbers config设置为true时遇到问题! 当我单击第2页的链接时,它从数据库检索的行数是正确的,但问题是: 第2页的第一行是第一页的第三行!这意味着第2页从第三行的第一页中检索到的数据库中的同一行开始。例如:

第1页:10、11、12、13、14

第2页:12、13、14、15、16

当然,第3页从第2页的第二行开始:

第3页:13、14、15、16、17

这是我的代码:

function get_brands_list($options = array())
{
    //Pagination config
    $config['base_url'] = base_url() . 'admin/brands/page/';
    $config['total_rows'] = $this->db->get('mg_brands')->num_rows();
    $config['per_page'] = 5;
    $config['num_links'] = 4;
    $config['uri_segment'] = 4;
    $config['use_page_numbers'] = TRUE;

    $this->pagination->initialize($config);

    $offset = $this->uri->segment(4, 0);
    $this->db->order_by('brand_Sort', 'ASC');
    $query = $this->db->get('mg_brands', $config['per_page'], $offset);

    if(isset($options['brand_Id']) || isset($options['brand_Name']))
        return $query->row(0);

    return $query->result();
} 

您在计算偏移量变量时遇到问题。。。。试试这个:

$page_num = $this->uri->segment(4, 0);

$offset = ($page_num - 1) * $config['per_page'];

您在计算偏移量变量时遇到问题。。。。试试这个:

$page_num = $this->uri->segment(4, 0);

$offset = ($page_num - 1) * $config['per_page'];

使用此功能,其他页面的问题已经得到解决,但第一页的问题仍然存在。返回第一页时出错:错误号:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解第4行“从(
mg_brands
)ORDER BY ABS(brand_Sort)ASC LIMIT-5,5”中使用近“-5,5”的正确语法。对于第一页,将您的值设置为1而不是0。使用该语法,其他页面的问题已得到解决,但第一页仍然存在。返回第一页时出错:错误号:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解第4行“从(
mg_brands
)ORDER BY ABS(brand_Sort)ASC LIMIT-5,5”附近使用的正确语法,将第一页的值设置为1而不是0。