php - 如何在单击下一个分页后显示搜索?
问题描述
首先我做pagination
了一个成功的,然后我做了一个search
按钮。在第一页可以查看成功数据,但是当我在下一页搜索数据时无法查看数据pagination
。search
如何在下一页显示可搜索的数据?
这是搜索后第一页的链接:
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>
解决方案
您的问题有一个简单的解决方案。你需要设置$config['reuse_query_string'] = true;
. 它将携带现有的查询字符串。
更多细节请看这里
推荐阅读
- kotlin - 如何在外部(ini)函数中初始化不可变类成员
- javascript - 使用猫鼬时如何不通过函数传递值
- amazon-web-services - AWS Beanstalk 驱动器已满?
- java - 使用 Docker 打包 Maven
- r - 有没有办法计算ecdf的面积?
- javascript - 使用 user_id 的 javascript 对象过滤器不返回预期结果
- angular - Angular 8:使 FormBuilder 仅接受带有纬度和经度范围的数字
- c# - 无法在 .NET Core 3.0 中使用 AssemblyLoadContext 加载插件依赖项
- python - Pygame精灵不会出现
- python - 画一条连接悬垂(脊)的线