把这个文件
helpers 文件夹中的 myhelper_helper.php
function configPagination($url,$total_rows,$segment,$per_page=10)
{
$CI = get_instance();
$CI->load->library('pagination');
$config['base_url'] = site_url($url);
$config['total_rows'] = $total_rows;
$config['per_page'] = $per_page;
$config['uri_segment'] = $segment;
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_links'] = 3;
$config['next_tag_open'] = "<li>";
$config['next_tag_close'] = "</li>";
$config['prev_tag_open'] = "<li>";
$config['prev_tag_close'] = "</li>";
$config['first_link'] = FALSE;
$config['last_link'] = FALSE;
$CI->pagination->initialize($config);
return $CI->pagination->create_links();
}
使用会话库的分页示例...
控制器:
用户.php
public function __construct()
{
parent::__construct();
$this->per_page = 20; // How many records per page...
$this->load->helper('myhelper');
$this->load->library('session');
$this->load->model('users_model');
}
function list($start=0)
{
if(isset($_POST['filter_status']))
{
$this->session->set_userdata('filter_status',$this->input->post('filter_status'));
}
$data['users'] = $this->users_model->get_all($start,$this->per_page);
$total = $this->users_model->count_all();
$data['pages'] = configPagination('users/list',$total,5,$this->per_page);
$data['start'] = $start;
$this->load->view('users_view',$data);
}
最后在你的模型Users_model.php中
function __construct()
{
parent::__construct();
$this->load->database();
}
function get_all($start,$limit) {
if($this->session->userdata('filter_status')!='')
{
$this->db->where('status',$this->session->userdata('filter_status'));
}
$query = $this->db->get('users', $limit, $start);
return $query;
function count_all()
{
if($this->session->userdata('filter_status')!='')
{
$this->db->where('status',$this->session->userdata('filter_status'));
}
$query = $this->db->get('users');
return $query->num_rows();
}
在你看来,是这样的
<form action="" method="post" id="filter_form">
<div class="form-group">
<label>Status: </label>
<div class="controls">
<?php $status = array(0=>"Inactive", 1=>"Inactive",-1=>"Banned");?>
<select id="status-select" name="filter_status" class="form-contro">
<option value="">All</option>
<?php foreach ($status as $key=>$value) {
$sel = ($key==$this->session->userdata('filter_status'))?'selected="selected"':'';
?>
<option value="<?php echo $key;?>" <?php echo $sel;?>><?php echo $value ?></option>
<?php } ?>
</select>
<input type="submit" Value="Filter" />
</div></form>