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

[HELP] CI 分页 传参问题

[复制链接]
发表于 2015-3-9 11:04:32 | 显示全部楼层 |阅读模式
如果直接查询整张数据表,不用传入$pro_name参数,我可以得到分页的功能效果;
但我传入$pro_name后,只会输出查询结果,而且结果没有被分页,点击下一页,查询条件会被清空,无法输出任何结果。
麻烦各位大神看看,该怎么修改
控制类:
function accommodation($offset=''){
        $this->load->model('office/accommodation_model','office');
        //加载分页类
        $this->load->library('pagination');
        $this->load->helper('url');
        $this->load->database();

        $pro_name = isset($_POST['pro_name'])?$_POST['pro_name']:'';   //赋初值
        $data['pro_name'] = $pro_name;

        $limit = 1;
        $total = $this->office->select($pro_name);      //获取查询总数
        $data['blog'] = $this->office->list_users($limit,$offset,$pro_name);   //获取查询结果
        $data['total'] = $total;
        $config['base_url'] = base_url().'index.php/office/accommodation/';
        $config['total_rows'] = $total;     //一共有多少条数据
        $config['per_page'] = $limit;     //每页显示条数

        $config['first_link'] = '首页';
        $config['last_link'] = '尾页';
        $config['next_link'] = '下一页';
        $config['prev_link'] = '上一页';

        $this->pagination->initialize($config);
        $data['links'] = $this->pagination->create_links();
        $data['title'] = 'Pagination';

        $this->load->view('official/accommodation',$data);
    }


模型:
public function select($pro_name){
        $query = $this->db->query("select count(*) as total from student_info where project_name ='$pro_name';");
        $result = $query->result();
        return $result[0]->total;
    }

    public function list_users($limit,$offset,$pro_name){
        $this->db->limit($limit,$offset);
        $sql = "select * from student_info where project_name ='$pro_name';";
        $res = $this->db->query($sql);
        return $res->result();
    }


视图:
<form action="<?php echo site_url('office/accommodation');?>" method="post">
        项目:
        <input type="text" name="pro_name" value="<?=$pro_name?>"/>
        <br/>
        <input type="submit" name="query" value="搜索" style="background-color:#FFf"/>
    </form>

    <table>
        <tr>
            <th>姓名</th>
            <th>联系方式</th>
        </tr>
        <?php
        foreach($blog as $item){
            ?>
            <tr>
                <td><?=$item->stu_name?></td>
                <td><?=$item->mobile_phone?></td>
            </tr>
        <?php
        }
        echo $links;
        ?>
    </table>

发表于 2015-3-9 15:04:58 | 显示全部楼层
分页的时候如果有查询条件,需要自己把条件拼接到URL中,CI 不会帮你把查询条件拼接进去,只会处理页数而已。
发表于 2015-3-9 16:57:05 | 显示全部楼层
使用GET传参

本版积分规则