【发布时间】:2017-02-06 12:29:28
【问题描述】:
列表页
<div class="container">
<!--search criteria-->
<div class="alert alert-info">
<form method="post" class="form-inline" action="<?php echo base_url();?>/admin/area/index" id="form_search">
<div class="pull-left" style="color:#666;">Show Results:
<select name="limit" id="limit" style="width:50px;">
<option value="10"<?php if(10==$limit_selected) echo "selected";?>>10</option>
<option value="20" <?php if(20==$limit_selected) echo "selected";?>>20</option>
<option value="30" <?php if(30==$limit_selected) echo "selected";?>>30</option>
<option value="40" <?php if(40==$limit_selected) echo "selected";?>>40</option>
<option value="50" <?php if(50==$limit_selected) echo "selected";?>>50</option>
</select>
</div>
<label style="color:#666;"> Search By City: </label>
<select id="cityId" name="cityId" >
<option value='0'> --All-- </option>
<?php
foreach($cityOptionList as $city) { ?>
<option value="<?php echo $city['id']?>" <?php if($city['id']==$cityId) echo "selected";?>><?php echo $city['name']?></option>
<?php } ?>
</select>
</form>
</div>
<!--search criteria end-->
<table class="table table-striped table-bordered bootstrap-datatable">
<thead>
<tr>
<th>Sl.no</th>
<th>Area Name</th>
<th>City</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php $i=1; foreach($areaList as $area) {?>
<tr>
<td><?php echo $i;?></td>
<td class="center"><?php echo $area->areaName;?></td>
<td class="center"><?php echo $area->city_name;?></td>
<td class="center">
<a href="<?php echo base_url();?>admin/area/edit/<?php echo $area->areaId ; ?>">
<i class="icon-edit" style="font-size:16px;"></i></a>
<!-- <a href="#" data-id="<?php echo $area->areaId;?>">
<i class="icon-trash" style="font-size:16px;"></i></a>-->
</td>
</tr>
<?php $i++; } ?>
</tbody>
</table>
<?php echo $links;?>
</div>
<!--/container-->
<!--=== End Content Part ===-->
<script>
$(function() {
$("#cityId").change(function() {
$("#form_search").submit();
});
$("#limit").change(function() {
$("#form_search").submit();
});
/*
$(".pagination").click(function(){
alert("hi");
$("#form_search").submit();
})
*/
});
</script>
控制器代码
public function index(){
$searchParam = '';
if(! empty($this->input->get('q'))){
$searchParam = $this->input->get('q');
}
if(!empty($this->input->post('cityId'))){
$search_city= $this->input->post('cityId');
}
$data['title'] = 'Area';
$data['action'] = 'admin/area/';
$data['searchParam'] = $searchParam;
$data['arealist'] = $this->getList();
$this->load->view('admin/header',$data);
$this->load->view('admin/area/view.php', $data);
$this->load->view('admin/footer',$data);
}
protected function getList(){
$stateId = $this->session->userdata('stateId');
$searchParam = '';
$search_city = '';
if(! empty($this->input->get('q'))){
$searchParam = $this->input->get('q');
}
if(!empty($this->input->post('cityId'))){
$search_city= $this->input->post('cityId');
}
if(!empty($this->input->post('limit'))){
$limit= $this->input->post('limit');
}
else
{
$limit = 10;
}
$config = $this->config->item('pagination');
$config = array();
$config["base_url"] = base_url() . "admin/area/index/";
$config["total_rows"] = $this->area_model->getArea(0, 0, $searchParam, 1,$search_city);
$totalCount = $config['total_rows'];
$config["per_page"] = $limit;
$config["uri_segment"] = 4;
$config['use_page_numbers'] = TRUE;
$config['reuse_query_string'] = TRUE;
$data['cityId'] = $search_city;
$data['limit_selected'] = $limit;
$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 1;
$data["links"] = $this->pagination->create_links();
$data["areaList"] = $this->area_model->getArea($config["per_page"], $page, $searchParam,0,$search_city);
$data['cityOptionList'] = $this->area_model->getCityByStateId($stateId);
return $this->load->view('admin/area/list.php', $data, true);
}
在列表页面中,当我更改城市时,数据会根据城市获取并显示在列表页面中,如果选择的记录多于则显示分页。 问题是当我单击搜索值的分页链接时,所有记录都在加载而不是搜索值。 在分页中,仅当搜索应用于记录时如何获取搜索值。
【问题讨论】:
-
离题:更短的方法: is = ($limit_selected == 20 ? 'selected' :'') ?>.因为, 与 = $some ?> 的含义相同。 ;)
标签: php codeigniter pagination