【问题标题】:How to create pagination using dropdown option in codeigniter如何使用 codeigniter 中的下拉选项创建分页
【发布时间】:2014-04-10 04:50:12
【问题描述】:

我想使用 codeigniter 创建一个分页。问题是我无法根据下拉选项列表中的值显示我的记录。请帮助。

这是我的控制器代码:

    public function index($offset = 0)
    {
        $data['title'] = "Basic CRUD Function With Codeigniter";

        if (!empty($post['limit'])) {

            $limit = $this->input->post('limit');
        }
        else{
            $limit = 1;
        }

        $offset = $this->uri->segment(3);

        $records = $this->crud_mdl->get_paged_list($limit, $offset);

        $config['base_url'] = base_url().'/crud/index/';
        $config['total_rows'] = $this->crud_mdl->count_all();
        $config['per_page'] = $limit;

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

        $data['limit'] = $this->input->post('limit');
        $data['pagination'] = $this->pagination->create_links();

        $this->load->library('table');
        $this->table->set_heading('ID','NAME','E-MAIL','PHONE','ACTION');

        foreach ($records as $record) {

            $this->table->add_row($record->id, $record->name, $record->email, $record->phone,

                anchor('crud/viewCrud/'.$record->id,'view').' '.anchor('crud/editCrud/'.$record->id,'edit').' '.anchor('crud/delete/'.$record->id,'delete')
                );
        }

        $data['table'] = $this->table->generate();

        $this->load->view('crudlist',$data);
    }

这是我的模型:

    public function count_all()
    {
        return $this->db->count_all('test');
    }
    public function get_all_data()
    {
        return $this->db->get('test')->result();
    }
    public function get_paged_list($limit, $offset)
    {
        return $this->db->get('test', $limit, $offset)->result();
    }

这是我的看法:

    <div>
    <h1>Simple CRUD Application</h1>
    <div><?php echo $pagination;?></div>
    <?php echo form_open('crud/index');?>
    <select name="limit" onchange="form.submit()">
        <option value="1" <?php if ($limit == 1){ echo "selected='selected'";} ?>>1</option>
        <option value="2" <?php if ($limit == 2){ echo "selected='selected'";}?> >2</option>
        <option value="4" <?php if ($limit == 4){ echo "selected='selected'";}?> >4</option>
    </select>
    <?php echo form_close();?>
    <div><?php echo $table; ?></div>
    <br />
    <?php echo anchor('crud/addCrud','Add CRUD'); ?>
</div>

【问题讨论】:

  • 请给出更多解释,什么时候显示值,什么时候不显示。
  • 嘿,@AmirBawab 问题是我无法使用下拉列表值显示数据库中的记录,这意味着当我选择值 2 时我想要,然后当我选择值时它将从数据库中加载两条记录4 ,然后它将从 db 中加载四条记录....就像那样。你能帮帮我吗..

标签: codeigniter pagination codeigniter-2 codeigniter-url codeigniter-routing


【解决方案1】:

$post没有定义,可能你的意思是$_POST,也可以用作$this-&gt;input-&gt;post()。所以替换:

if (!empty($post['limit'])) {

应该是:

if (!empty($this->input->post('limit'))) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2014-08-22
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多