我在Stackoverflow上看到了一个筛选器的示例,我想在我的CodeIgniter上实现它,但是当我点击“Go”按钮时,它没有对其进行筛选。它总是返回
控制器
找不到用户
,这是什么问题?控制器
public function filter($page=0,$offset=5,$search=''){
$user = $this->session->userdata('user_id');
$position = $this->session->userdata('user_position');
if($position =='admin'){
$search = $this->input->post('search');
$row = $this->m_user->getAllFilterUsers($offset,$page,$search);
$data['usersTable'] = $row->result();
$data['pagination'] = $this->m_user->getUsersFilterPages($search);
$data['offset'] = $offset;
$data['page'] = $page;
$data['search'] = $search;
$data['title'] = 'Manage Users';
$this->load->view('vadminuserfilter',$data);
}
else{
$this->session->set_flashdata('error','Page Not Found.');
redirect('cuser/displayClientPage');
return;
}
}
模型
public function getAllFilterUsers($offset,$count,$search){
if($search!=''){
$this->db->where('user_position','client');
$this->db->where('user_status',$search);
}
$this->db->where('user_position','client');
$this->db->where('user_status','active');
$this->db->order_by('user_id', 'desc');
$UsersQuery = $this->db->get('tb_user',$offset,$count);
if($UsersQuery->num_rows>0){
return $UsersQuery;
}
else{
$this->session->set_flashdata('message','No User Found');
redirect('cuser/filter','refresh');
}
}
public function getUsersFilterPages($search){
$this->db->where('user_position','client');
$this->db->where('user_status',$search);
$Pagesquery = $this->db->get('tb_user');
$config['base_url'] = site_url('cuser/filter');
$config['total_rows']= $Pagesquery->num_rows();
$config['per_page'] = 5;
$config['first_link'] = 'First';
$config['prev_link'] = 'Previous';
$config['next_link'] = 'Next';
$config['last_link'] = 'Last';
$this->pagination->initialize($config);
return $this->pagination->create_links();
}
查看
<?php echo form_open('cuser/filter'); ?>
Filter By:
<?php $dropdown = array('active'=>'active','inactive'=>'inactive');?>
<?php echo form_dropdown('search', $dropdown); ?>
<input name="Submit" type="submit" class="button" <?php echo form_submit('submit','Go');?>
<?php echo form_close(); ?>