我正在学习CI,最近我的任务是分页。所以我遵循了这个教程,因为它看起来制作和解释得相对不错。链接
分页有效而且很棒。现在我想在每个帖子下面多读一读,让每个帖子都单独打开,并附上完整的描述。这也是有效的,但当我单击链接返回到分页索引时,无论我单击哪个帖子,列表都会从头开始。我不知道如何添加页面,我希望返回链接能带我回去,所以我只在这里发布这篇文章,希望有人不会告诉我太难。
如果有人对我想要的东西感到困惑,只需查看最后一个视图readmore_paginate。在其中,最后一个链接应该包含一个数字到页面,但我知道如何放置或在那里放置什么。
控制器
public function paginate()
{
$config = array();
$config['base_url'] = base_url()."welcome/paginate";
$config['total_rows'] = $this->blog_model->countPosts();
$config['per_page'] = 2;
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; //TERNARY OPERATOR (? = TRUE) (: = FALSE)
$data['results'] = $this->blog_model->fetchPosts($config['per_page'], $page);
$data['links'] = $this->pagination->create_links();
$this->load->view('header');
$this->load->view("p_content", $data);
$this->load->view('footer');
}
public function readMore_Paginate()
{
$id = $this->input->get('postid');
$data['post'] = $this->blog_model->getSpecificPost($id);
$this->load->view('header');
$this->load->view('readmore_paginate', $data);
$this->load->view('footer');
}
型号
public function countPosts()
{
return $this->db->count_all("Blogposts");
}
public function fetchPosts($limit, $start)
{
$this->db->select('*');
$this->db->from('Blogposts');
$this->db->join('Blogcategories', 'Blogposts.postcatid=Blogcategories.id');
$this->db->limit($limit, $start);
$query = $this->db->get();
if($query->num_rows() > 0)
{
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
查看p_content
<div class="col-md-8">
<table class="table">
<tbody>
<?php
foreach ($results as $key) {
echo "<tr><th><h2><kbd><font color='yellow'>".$key->postname."</font></kbd></h2><kbd><font color='lime'>".date("d M Y",strtotime($key->postdate))."</font></kbd> <kbd><font color='cyan'>".$key->catname."</font></kbd></th></tr>";
echo "<tr><td><blockquote>".mb_substr($key->postdesc, 0,80,'UTF-8')."...";?>
<a href="<?php echo base_url()."welcome/readmore_paginate?postid=".$key->postid; ?>">read more</a></blockquote>
<?php } ?>
</tbody>
</table>
<p><?php echo $links; ?></p>
</div>
查看自述文件页面
<div class="col-md-8">
<table class="table">
<tbody>
<?php
foreach ($post as $key) {
echo "<tr><th><h2><kbd><font color='yellow'>".$key['postname'].
"</font></kbd></h2><kbd><font color='lime'>".
date("d M Y",strtotime($key['postdate']))."
</font></kbd> <kbd><font color='cyan'>".
$key['catname']."</font></kbd></th></tr>";
echo "<tr><td><blockquote>".$key['postdesc']."</blockquote>"; ?>
<a href="<?php echo base_url().'welcome/paginate'; ?>">Back to Posts</a>
<?php }
?>
</tbody>
</table>
</div>
控制器
$page = $this->input->get('page') ?
$this->input->get('page') :
$this->uri->segment(3) ?
$this->uri->segment(3) :
0;
$data['results'] = $this->blog_model->fetchPosts($config['per_page'], $page);
$data['links'] = $this->pagination->create_links();
$data['page'] = $page; // add this
查看p_content
<a href="<?php echo base_url()."welcome/readmore_paginate?postid=".$key->postid; ?>&page=<?=$page?>">read more</a></blockquote>
查看自述文件_页面
<a href="<?php echo base_url().'welcome/paginate?page='.$this->input->get('page'); ?>">Back to Posts</a>