这是我的控制器:
function index()
{
$data['title']="Post";
$this->load->library('pagination');
$config['base_url'] = base_url().'Post/index';
$config['total_rows'] = $this->post_model->get_total_count();
$config['per_page'] = 1;
$config['uri_segment'] = 1;
$this->pagination->initialize($config);
$data['posts'] = $this->post_model->get_single_post($config['per_page'],$this->uri->segment(1));
$this->load->view('frontend/layouts/header',$data);
$this->load->view('frontend/view_post',$data);
$this->load->view('frontend/layouts/footer');
}
模型
function get_single_post(){
$query= $this->db->select('*')
->from('tbl_post,tbl_users')
->where('tbl_post.post_created=tbl_users.user_id')
->where('tbl_post.post_status',1)
->order_by('tbl_post.post_id','asc')
->get();
$data = $query->result_array();
return $data;
}
function get_total_count(){
$this->db->select('*');
$this->db->from('tbl_post');
$query = $this->db->get();
return $query->num_rows();
}
相关页面数据未显示。它在一个页面中显示所有数据!
答案 0 :(得分:1)
$config['uri_segment'] = 1
你确定吗?? Check this CI example
正如您所提到的,问题$config['base_url'] = base_url().'Post/index';
$config['uri_segment'] = 1
应为$config['uri_segment'] = 2
同样也是这样做
在控制器中
$config['uri_segment'] = 1;
$this->pagination->initialize($config);
$data['links'] = $this->pagination->create_links();
$data['posts'] = $this->post_model->get_single_post($config['per_page'],$this->uri->segment(1));
在视图中
echo $links;
修改01
在模型中添加此
function get_single_post($page,$limit) # Changed
{
$query= $this->db->select('*')
->from('tbl_post,tbl_users')
->where('tbl_post.post_created=tbl_users.user_id')
->where('tbl_post.post_status',1)
->limit($page,$limit) # Changed
->order_by('tbl_post.post_id','asc')
->get();
$data = $query->result_array();
return $data;
}
答案 1 :(得分:0)
有很多问题。
$config['uri_segment']
不能是1.应该是3
所以把它固定到
$config['uri_segment']
= 3;
段1表示控制器名称。 2表示功能名称。 3表示页码。 如果您使用1,它将用页码替换控制器名称。
您将参数传递给模型函数但模型没有接收参数。所以您的函数应该是这样的
function get_single_post($limit,$page_no){
您的模型返回的所有记录不是当前页面记录。所以添加限制
->limit($page_no,$limit)//remember page_no should be 0 for 1,1 for 2.