用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2521|回复: 3
收起左侧

CI分页问题

[复制链接]
发表于 2014-3-31 21:46:27 | 显示全部楼层 |阅读模式
本帖最后由 lvhjean 于 2014-3-31 23:43 编辑

我想问一下,为什么我的分页初始页和点击第一页后显示分页数不一样了?
附上分页代码
PHP复制代码
 
//查询总数
    $count = $this->T_type->count($where);
    $this->load->library('pagination');//加载分页类
    $config['base_url'] = base_url().'index.php/type/query'.($fid?'?ffid='.$fid:'');//设置查询基础地址
    $config['total_rows']=$count;
    $config['per_page']=3; //每页显示的数据数量
    $config['uri_segment']=3;
    $config['first_link']='<span style="font-size:14px">首页</span>';
    $config['last_link']='<span style="font-size:14px">尾页</span>';
    $config['prev_link']='<span style="font-size:14px">上一页</span>';
    $config['next_link']='<span style="font-size:14px">下一页</span>';
    $config['use_page_numbers']=TRUE;
    $this->pagination->initialize($config);
 
复制代码

首页截图
https://codeigniter.org.cn/forums/forum.php?mod=attachment&aid=Mjg5NXwwZWQ1ZmNiN3wxNzE0MTI3NzM4fDB8
点击第一页后
https://codeigniter.org.cn/forums/forum.php?mod=attachment&aid=Mjg5NnwyMGRkNDY5YXwxNzE0MTI3NzM4fDB8
哪位大哥能帮忙解决一下。谢谢、
还有传参问题。这样的解决方式对嘛?还有没有更好的灵活的方式解决。
PHP复制代码
 
 $config['base_url'] = base_url().'index.php/type/query'.($fid?'?ffid='.$fid:'');//设置查询基础地址
 
复制代码



page_01.jpg
page_02.jpg
 楼主| 发表于 2014-3-31 23:49:57 | 显示全部楼层
本帖最后由 lvhjean 于 2014-4-1 00:10 编辑

可能大家没看清楚,是因为偏移量计算问题。将代码放出
PHP复制代码
 
$data['types']=$this->T_type->findAll($where,$config['per_page'],$this->uri->segment(4),'id ASC');
 
复制代码

findAll 是从论坛找到一个写在Model的方法。参数第三个变量为偏移量,错误的雨分页信息结合;把分页是第三个参数当做便宜两传递,导致分页错误。
PHP复制代码
 
$config['use_page_numbers']=TRUE;
 
复制代码

原因是我开启此功能导致$this->uri->segment(4)返回的页数而非偏移量导致查询出现问题。
分析看来1、自身对CI了解不够。2、网上随便答案没有过滤就拿来使用
发表于 2014-4-11 17:25:00 | 显示全部楼层
这个CI分页太不好使了
发表于 2014-4-28 20:27:41 | 显示全部楼层
没有修改CI分页类源码,只做简单的配置即可!
原帖地址:http://codeigniter.org.cn/forums ... hread&tid=18776

// 这段代码和以前的配置没差别
$config['base_url'] =  site_url('shop/membe');

// 追加在所有自动生成的分页链接里的后面,第一页除外
$config['suffix'] = '?mid='.$member_id;

// 第一页默认是$config['base_url'],所有需要手动设置成如下的链接
$config['first_url'] = site_url('shop/membe?mid='.$member_id);

本版积分规则