Javascript PHP Codeigniter和Ajax中的颜色、价格和大小过滤器
第1节 我在“显示10条记录中的1-5条”中遇到问题。我有一段代码,它只在第一页工作,当我点击第二页时,它会显示相同的结果“显示10条记录中的1-5条”,而不是“显示10条记录中的10条” 控制器中的代码Javascript PHP Codeigniter和Ajax中的颜色、价格和大小过滤器,javascript,php,mysql,ajax,codeigniter-3,Javascript,Php,Mysql,Ajax,Codeigniter 3,第1节 我在“显示10条记录中的1-5条”中遇到问题。我有一段代码,它只在第一页工作,当我点击第二页时,它会显示相同的结果“显示10条记录中的1-5条”,而不是“显示10条记录中的10条” 控制器中的代码 $total=$config["total_rows"]; $per_page=$config['per_page']; $curpage=floor(($this->uri->segment(1)/$config['per_page']) + 1
$total=$config["total_rows"];
$per_page=$config['per_page'];
$curpage=floor(($this->uri->segment(1)/$config['per_page']) + 1);
$result_start = ($curpage - 1) * $per_page + 1;
if ($result_start == 0) $result_start= 1; // *it happens only for the first run*
$result_end = $result_start+$per_page-1;
if ($result_end < $per_page) // happens when records less than per page
{ $result_end = $per_page; }
else if ($result_end > $total) // happens when result end is greater than total records
{ $result_end = $total;}
$data['show']="displaying $result_start to $result_end of $total";
public function index($page=1)
{
$config = array();
$keyword = $this->input->post('search');
if ($keyword === null){ $keyword = $this->session->userdata('search');}
else{ $this->session->set_userdata('search',$keyword);}
$config["base_url"] = base_url();
$config["total_rows"] = $this->crt->total_items($keyword);
$config['use_page_numbers'] =true;
$config['cur_tag_open'] = '<a class="page-numbers current">';
$config['cur_tag_close'] = '</a>';
$config["per_page"] =5;
$config["uri_segment"] = 1;
$this->pagination->initialize($config);
$page = ($page - 1) * $config['per_page'];
// showing x to y of z records
$total=$config["total_rows"];
$per_page=$config['per_page'];
$curpage=floor(($this->uri->segment(1)/$config['per_page']) + 1);
$result_start = ($curpage - 1) * $per_page + 1;
if ($result_start == 0) $result_start= 1; // *it happens only for the first run*
$result_end = $result_start+$per_page-1;
if ($result_end < $per_page) // happens when records less than per page
{ $result_end = $per_page; }
else if ($result_end > $total) // happens when result end is greater than total records
{ $result_end = $total;}
$data['show']="displaying $result_start to $result_end of $total";
$data['sidebar']=$this->crt->sidebar_cat();
$data['products']=$this->crt->get_product($config["per_page"], $page,$keyword);
$data["links"] = $this->pagination->create_links();
$this->load->view('header');
$this->load->view('index',$data);
$this->load->view('footer');
}
至
$curpage=$this->uri->segment(1);
if ($result_start == 0 || $result_start<0) $result_start= 1; //
$curpage=$this->uri->segment(1);
如果($result_start==0 | |$result_start初始化分页配置时,尝试使用$config[base_url]
中的控制器/方法,并从$this->uri->segment(3)获取页码
答案是,所有详细信息和代码都发布在提到的链接问题中。但我不需要$this->uri->segment(3)
我将其分为1段。第一段代表控制器,第二段代表方法,其他部分为参数。我将相应地设置路线,并将其分为1段,它工作正常,请重新阅读该问题。这不是我想要的,请重新阅读该问题。请提供答案的主要部分。请参阅
$curpage=floor(($this->uri->segment(1)/$config['per_page']) + 1);
if ($result_start == 0) $result_start= 1; //
$curpage=$this->uri->segment(1);
if ($result_start == 0 || $result_start<0) $result_start= 1; //
function clr(){
var selected = new Array();
var size = new Array();
var url="<?php echo base_url('Cart/filt_color');?>";
// alert(url);
$("input:checkbox[name=color]:checked").each(function() {
selected.push($(this).val());
//console.log(selected);
});
// Sizes
$("input:checkbox[name=size]:checked").each(function() {
size.push($(this).val());
//console.log(selected);
});
$.ajax({
url:url,
method:"post",
data:{'colors':selected,'sizes':size},
success:function(data)
{
//
//console.log(data);
$("#mdv").html(data);
}
});
}