好吧,我是CI的新手,我被困在分页上。我正在对作为查询结果的记录集执行此分页。现在一切似乎都运转正常。但是链接可能存在一些问题。我每页显示10个结果。现在,如果结果小于10,那就没关系。或者,如果我拉出表中的所有记录,它工作正常。但是如果结果超过10行,则前10个完美显示,当我点击分页链接进入下一页时,下一页显示查询的其余结果以及其他表中的记录。 ???我很困惑..任何帮助??
这是我正在使用的型号代码....
function getTeesLike($field,$param)
{
$this->db->like($field,$param);
$this->db->limit(10, $this->uri->segment(3));
$query=$this->db->get('shirt');
if($query->num_rows()>0){
return $query->result_array();
}
}
function getNumTeesfromQ($field,$param)
{
$this->db->like($field,$param);
$query=$this->db->get('shirt');
return $query->num_rows();
}
这是控制器代码......
$KW=$this->input->post('searchstr');
$this->load->library('pagination');
$config['base_url']='http://localhost/cit/index.php/tees/show/';
$config['total_rows']=$this->T->getNumTeesfromQ('Title',$KW);
$config['per_page']='10';
$this->pagination->initialize($config);
$data['tees']=$this->T->getTeesLike('Title',$KW);
$data['title']='Displaying Tees data';
$data['header']='Tees List';
$data['links']=$this->pagination->create_links();
$this->load->view('tee_res', $data);
我在这里做错了什么????请帮忙......
我想问题出在$KW=$this->input->post('searchstr');
..
因为如果我为$KW
硬编码值,它就可以正常工作。可能是我应该以不同的方式使用POST ..但是如何在没有POSTING的情况下传递表单中的值,它的CI因此不能GET ... ??????
答案 0 :(得分:0)
在控制器
中<?php
$KW=$this->input->post('searchstr');
$this->load->library('pagination');
$count = $this->model_name->getNumTeesfromQ($KW);//Count
$config['base_url']= base_url().'index.php/tees/show/';
$config['total_rows']= $count;
$config['per_page']='10';
$config['uri_segment'] = 4;
$limit = $config['per_page'];
$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$data['links'] = $this->pagination->create_links();
$data['tees']=$this->model_name->getTeesLike($KW,$limit,$page);
$data['title']='Displaying Tees data';
$data['header']='Tees List';
$this->load->view('tee_res', $data);
在模型
中public function getNumTeesfromQ($KW)
{
$query = $this->db->query("SELECT * FROM title WHERE table_field='$KW'");
$result = $query->result_array();
$count = count($result);
return $count;
}
public function getTeesLike($KW,$limit,$page)
{
$query = $this->db->query("SELECT * FROM title WHERE table_field='$KW' LIMIT $page, $limit");
$result = $query->result_array();
return $result;
}
查看 中的
echo
使用foreach
然后在页面底部使用<?php echo $links; ?>
这将显示您的分页