这是一个非常令人恼火的问题。我已经设置了我的 codeigniter 分页,所以我认为可以工作,但仔细观察,似乎在最后一页上它正在拉入以前的结果来填充页面。
所以说我想要每页十个并有十四个结果。第一页有十个结果,第二页也是如此。什么时候应该是第一个有十个,第二个有四个。如果它只是重复一个结果会很好,但是必须滚动浏览之前的六个结果很烦人。任何帮助将非常感激。
在我的控制器中,我有分页代码
$config = array();
$config["base_url"] = base_url()."myStories/".$id;
$config["total_rows"] = $this->data_model->my_count();
$config["per_page"] = 10;
$config["uri_segment"] = 3;
$config['num_links'] = 2;
$choice = $config["total_rows"] / $config["per_page"];
//$config["num_links"] = round($choice);
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$this->load->view('userStory_view', array(
'query' => $this->data_model->pullMyStories($config['per_page'], $page),
'links' => $this->pagination->create_links(),
'user' => $this->users_model->getUser($this->user->user_id),
));
然后在我的模型中我有计数,然后返回实际结果
public function my_count() {
//This counts all the stories that belong to that author
$author = $this->uri->segment(2);
$this->db->where('author', $author);
$this->db->where(array('approved !=' => 'd'));
$query = $this->db->get('story_tbl');
return $query->num_rows();
}
public function pullMyStories($limit, $start){
//This pulls back all the stories that belong to that author
$this->db->limit($limit, $start);
$this->db->order_by("date", "desc");
$author = $this->uri->segment(2);
$this->db->where(array('approved !=' => 'd'));
$this->db->where('author', $author);
$story = $this->db->get('story_tbl');
return $story->result();
}
我设置的路线确实有效
$route['myStories/(:any)'] = "story/viewStories/$1";
我最初认为我的计数是错误的,但即使计数为 14,也会返回 20 个结果。
有关更多信息,我非常肯定我的 baseUrl 是正确的。我已经修改了我的 .htaccess 以摆脱 index.php 并编辑了我的路由文件以使控制器从 url 中消失。尝试让用户更容易记住。
我也很确定 uri 段是正确的。如果它们不正确,那么我的页面根本不会出现。
我已经尝试了所有正常的解决方案,但没有任何效果。这就是为什么我在这里问以及为什么我在这个问题上悬赏。