簡體   English   中英

CI分頁返回帖子鏈接

[英]CI Pagination Back to Posts Link

我正在學習CI,最近要做的任務是分頁。 因此,我按照本教程進行了學習,因為它看起來做得比較好而且講解得很好。 鏈接

分頁工程及其偉大。 現在,我想在每個帖子下進行閱讀,使每個帖子都以完整的說明單獨打開。 這也可以,但是當我單擊鏈接返回到分頁索引時,無論我單擊哪個帖子,列表都從頭開始。 我不確定如何添加頁面,我希望返回鏈接將我帶回,因此我將其發布在這里,希望對別人來說不會太難。

如果有人對我的追求感到困惑,只需查看最后一個視圖readmore_paginate。 在其中,最后一個鏈接應包含一個返回頁面的數字,但idk如何放置或放置在頁面上。

調節器

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>

查看readmore_paginate

    <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> 

查看readmore_paginate

<a href="<?php echo base_url().'welcome/paginate?page='.$this->input->get('page'); ?>">Back to Posts</a>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM