【发布时间】:2018-05-20 04:34:49
【问题描述】:
控制器
function view_product()
{
$config = [
'base_url' => base_url('admin/view_product'),
'per_page' => 10,
'total_rows' => $this->AdminModel->num_rows(NULL),
'full_tag_open' => "<ul class='pagination'>",
'full_tag_close' => "</ul>",
'first_tag_open' => '<li>',
'first_tag_close' => '</li>',
'last_tag_open' => '<li>',
'last_tag_close' => '</li>',
'next_tag_open' => '<li>',
'next_tag_close' => '</li>',
'prev_tag_open' => '<li>',
'prev_tag_close' => '</li>',
'num_tag_open' => '<li>',
'num_tag_close' => '</li>',
'cur_tag_open' => "<li class='active'><a>",
'cur_tag_close' => '</a></li>',
];
$this->pagination->initialize($config);
$data['page'] =($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['product'] =$this->AdminModel->view_product(NULL,$config['per_page'],$data['page']);
$data['pagination'] = $this->pagination->create_links();
$this->load->view('admin/view_product',$data);
}
public function ajaxsearch()
{
$query = $this->input->post('query');
print_r($this->AdminModel->num_rows($query));
$config = [
'base_url' => base_url('admin/ajaxsearch'),
'per_page' => 10,
'total_rows' => $this->AdminModel->num_rows($query),
'full_tag_open' => "<ul class='pagination'>",
'full_tag_close' => "</ul>",
'first_tag_open' => '<li>',
'first_tag_close' => '</li>',
'last_tag_open' => '<li>',
'last_tag_close' => '</li>',
'next_tag_open' => '<li>',
'next_tag_close' => '</li>',
'prev_tag_open' => '<li>',
'prev_tag_close' => '</li>',
'num_tag_open' => '<li>',
'num_tag_close' => '</li>',
'cur_tag_open' => "<li class='active'><a>",
'cur_tag_close' => '</a></li>',
];
$this->pagination->initialize($config);
$data['page'] =($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['product'] =$this->AdminModel->view_product($query,$config['per_page'],$data['page']);
$data['pagination'] = $this->pagination->create_links();
$this->load->view('admin/product_search_result',$data,false);
}
型号
public function num_rows($searchKeyword=NULL)
{
if ($searchKeyword == "NULL") $searchKeyword = "";
$query = $this->db
->select('*')
->from('product')
->like('p_name',$searchKeyword)
->get();
return $query->num_rows();
}
function view_product($searchKeyword=NULL,$limit,$offset)
{
if ($searchKeyword == "NULL") $searchKeyword = "";
$query = $this->db->select("*")
->from('product')
->limit($limit, $offset )
->join('product_category', 'product.p_cid = product_category.p_cid')
->join('company','product.c_id = company.c_id')
->order_by('p_id')
->like('p_name',$searchKeyword)
->get();
return $query->result();
}
查看
function load_data(query)
{
$.ajax({
url:"<?php echo base_url();?>admin/view_product",
method:"POST",
data:{query:query},
success:function(data)
{
$('#showData').html(data);
$('#product_list').html(data);
}
});
}
$('#product_name').keyup(function()
{
var search = $(this).val();
if(search != '')
{
load_data(search);
}
/* else
{
load_data();
}*/
});
我是 C.I 的新手,我正在创建一个搜索过滤器,过滤器工作正常,直到我移动到下一个分页链接。当我在第一个链接上时,数据根据过滤器/搜索关键字显示,但是当我移动到下一个链接时,一切都消失了(所有数据都显示在页面上)如何解决这个问题?
【问题讨论】:
-
您可以创建一个额外的函数,例如 'view_product' say ' view_product_by_key' AdminModel 并带有一个额外的参数,例如 view_product_by(para1,para2,keyword) 。
-
仍然无法工作@kashif
-
请检查以下代码(使用您自己的变量)
-
你检查过变量名吗.. 我用过 name= 'searchKeyword' 并且你用过 id #product_name 。请考虑一下
-
是的,我查了一下。没关系@kashif
标签: jquery ajax codeigniter pagination