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

[分页] 分享带搜索的分页使用心得,欢迎拍砖

[复制链接]
发表于 2010-3-20 10:47:04 | 显示全部楼层 |阅读模式
本帖最后由 myzingy 于 2010-3-20 10:48 编辑

分享带搜索的分页使用心得,欢迎拍砖,谁要有更好的思路,热情期待
地址需要构造为 类似下面
http://www.***.com/index.php/auth/admin/members/index/搜索字段/值/搜索字段/值/.../page/10
如:http://www.***.com/index.php/auth/admin/members/index/username/myzingy/email/goto999@126.com
控制层代码如下
$url_param=$this->uri->uri_to_assoc(1);// url获取参数
        $fileds=array('username','email','group'); //搜索字段
        $where=NULL;
        foreach($fileds as $k){ //构造where 数组
            if(!empty($url_param[$k])){
                $where[$k]=$url_param[$k];
            }
        }
        $page=$url_param['page']+0; //当前page
        $url_param['page']=NULL;  //清空此配置
        $url_param=$this->uri->assoc_to_uri($url_param);
/*
封装为搜索url,这里需要修改/system/libraries/URI.php #430 assoc_to_uri 函数
foreach ((array)$array as $key => $val)
        {
            if(!$val) continue; //增加这里,过滤空值
            $temp[] = $key;
            $temp[] = $val;
        }
*/
        
        $this->load->library('pagination');
        $config['base_url'] = base_url()."/index.php/{$url_param}/page";
        $config['total_rows'] = $this->user_model->getUsers($where,NULL,true);//获取会员总数
        $config['per_page'] = '10';
        $config['cur_page'] = $page;/*指定当前page,因page参数位置可能是变化的,无法通过$config['uri_segment'] = * 设置;  */      
        $this->pagination->initialize($config);
        $data['pagination'] = $this->pagination->create_links();

        // Get Member Infomation
        $limit=array('offset'=>$page,'limit'=>$config['per_page']);
        $data['members'] = $this->user_model->getUsers($where,$limit);
发表于 2010-3-20 11:21:22 | 显示全部楼层
嗯,不错,不过觉得还是做成get的也很好,嘿嘿
发表于 2010-9-14 17:01:14 | 显示全部楼层
ajax 分页。。。老大有办法么。。
发表于 2011-1-6 14:58:00 | 显示全部楼层
本帖最后由 lianghan 于 2011-1-6 14:59 编辑

ajax 分页 可以在js里面取出来url ,思路是这样:
先获取var url = href ,把href中的链接变成JavaScript:void(0);
然后就可以用ajax了,这是我自己的方法,不知道还有其他方法没有。
发表于 2011-1-7 14:09:52 | 显示全部楼层
很好,一直在想不用$_get的方法来实现搜索分页,支持!
发表于 2011-1-7 14:11:31 | 显示全部楼层
顺便请教一下,中文关键字有没有问题?
发表于 2011-1-7 19:32:31 | 显示全部楼层
中文关键字应该转一下码
发表于 2011-1-8 09:56:54 | 显示全部楼层
建议直接使用 $_GET,而不要自己模拟,具体如何使用 GET 传参请参考论坛 FAQ 置顶帖。
发表于 2011-3-26 11:48:24 | 显示全部楼层
要的就是这个效果  但是不太明白你的代码   
能不能再详细一点啊    谢谢

本版积分规则