首页 > 解决方案 > 如何在单击下一个分页后显示搜索?

问题描述

首先我做pagination了一个成功的,然后我做了一个search按钮。在第一页可以查看成功数据,但是当我在下一页搜索数据时无法查看数据paginationsearch如何在下一页显示可搜索的数据?

这是搜索后第一页的链接:

http://localhost/lavaggio/Pegawai/pegawai?keyword=sisil&submit=submit

这是搜索后第二页中的链接:

http://localhost/lavaggio/Pegawai/pegawai/2?keyword=annisa&submit=submit

控制器

public function pegawai(){ 
        $config['base_url'] = 'http://localhost/lavaggio/Pegawai/pegawai';
        $config['total_rows'] = $this->Pegawai_model->count_all_peg();
        $config['per_page'] = 2;
        $config['num_links'] = 2; 
        $this->pagination->initialize($config);

        $data['start'] = $this->uri->segment(3);
        $data['keyword'] = $this->input->get('keyword');
        $data['daftar_pegawai'] = $this->Pegawai_model->select_all($config['per_page'], $data['start'], $data['keyword']);

        $this->load->view('templates_owner/header');
        $this->load->view('templates_owner/sidebar');     
        $this->load->view('owner/data_pegawai', $data);  
        $this->load->view('templates_owner/footer');

模型

function select_all($limit, $start, $keyword = null)
    {        
        // $this->db->select('*'); 
        // // $this->db->order_by('date_modified', 'desc');
            $this->db->like('id_pegawai',$keyword);
            $this->db->or_like('nama_pegawai',$keyword);
            $this->db->or_like('no_tlp_pegawai',$keyword);
            $this->db->or_like('alamat_pegawai',$keyword);
            $this->db->or_like('umur',$keyword);
            $this->db->or_like('jenis_kelamin',$keyword);
            $this->db->or_like('username',$keyword);
            $this->db->or_like('password', $keyword);
         // $this->db->from('tbl_pegawai'); 
         // 
        return $query = $this->db->get('tbl_pegawai',$limit, $start)->result();
        // return $this->db->get();
    }     

function count_all_peg()
    {
        $this->db->select('*');
        $this->db->from('tbl_pegawai');
        
        return $this->db->get()->num_rows();
    }

看法

*this is search
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
            <ol class="breadcrumb">
              <form action="<?= base_url('Pegawai/pegawai');?>" method="POST">
            <div class="input-group">
              <!-- <?php $attributes //= array('class' => 'row'); ?> -->
              <input type="text" name="keyword" class="form-control border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2" Value="<?=@keyword?>"> <!--untuk menyembunyikan kode error-->

              <div class="input-group-append">
                <input class="btn btn-primary" type="submit" name="submit" value="submit">
                  <!-- <i class="fas fa-search fa-sm"></i> -->
              </div>
            </div>
            </form>
            </ol>
          </form>

<div class="table-responsive">
              <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                <thead>
                 <tr>
                    <th>ID</th>
                    <th>Nama</th>
                    <th>Nomor Telepon</th>
                    <th>Alamat</th>
                    <th>Umur</th>
                    <th>Jenis Kelamin</th>
                    <th>Username</th>
                    <th>Password</th>
                    <th>Edit</th>
                    <th>Delete</th>
                  </tr>
                </thead>
                <tbody>
                  <?php foreach ($daftar_pegawai as $pegawai) {?> 
                  <tr>
                    <td><?php echo $pegawai->id_pegawai;?></td>
                    <td><?php echo $pegawai->nama_pegawai;?></td>
                    <td><?php echo $pegawai->no_tlp_pegawai;?></td>
                    <td><?php echo $pegawai->alamat_pegawai;?></td>
                    <td><?php echo $pegawai->umur;?></td>
                    <td><?php echo $pegawai->jenis_kelamin;?></td>
                    <td><?php echo $pegawai->username;?></td>
                    <td><?php echo $pegawai->password;?></td>
                    <td>
                    <a class="btn btn-primary" href="<?php echo site_url('Pegawai/edit_pegawai/'.$pegawai->id_pegawai);?>"> <i class="fas fa-fw fa-edit"></i>Edit</a>
                    </td>
                    <td>
                    <a class="btn btn-danger" href="<?php echo site_url('Pegawai/delete_pegawai/'.$pegawai->id_pegawai);?>"><i class="fas fa-fw fa-trash"></i>Delete</a>
                    </td>
                  </tr>
                  <?php } ?> 
                </tbody>
              </table>
            </div>
*the pagination
           <?php echo $this->pagination->create_links(); ?>
          </div>
        </div>

标签: phpcodeigniter

解决方案


您的问题有一个简单的解决方案。你需要设置$config['reuse_query_string'] = true;. 它将携带现有的查询字符串。

更多细节请看这里


推荐阅读