нумерация страниц не ограничивает количество возвращаемых строк из базы данных - PullRequest
0 голосов
/ 01 марта 2020

Привет, я сейчас работаю над разбиением на страницы моего проекта. Я хочу ограничить количество возвращаемых записей из базы данных 3 строками на страницу. Видимо, ссылки нумерации страниц были отражены, но все же он возвращает все строки из базы данных без ограничения записей на 3.

Вот мой код:

Модель

function fetchItemsOrderBy($table, $data = NULL,$column,$order,$limit, $start){
        if ($data != NULL){
            $this->db->where($data);
        }

        $this->db->order_by($column, $order);
        $this->db->limit($limit, $start);
        $query = $this->db->get($table);
        return ($query->num_rows() > 0) ? $query->result() : FALSE;
    }

Просмотр

<section class="review-section">
        <div class="container">
            <?php
                if($article = $this->NCCT_Model->fetchItems('articles')):
                foreach ($article as $articleEntry): 
            ?>
            <div class="review-item">
                <div class="row">
                    <div class="col-lg-4">
                        <div class="review-pic">
                            <img src="<?php echo base_url()."uploads/"?>Articles_Attachments/<?=$articleEntry->attachment?>" alt="">
                        </div>
                    </div> 
                    <div class="col-lg-8">
                        <div class="review-content text-box text-white">
                            <div class="top-meta"><?=date("F j, Y",$articleEntry->posted_on)?> / in <a style="color: #ffae42;"><?=$articleEntry->category?></a></div>
                            <h3> <?=$articleEntry->title?></h3>
                            <p style="color: #2e2e2e"><?=substr($articleEntry->overview, 0, 500)?>.....</p>
                            <a href="<?php if($checker) { echo base_url().'UserHome/announcementsReadMore/',$articleEntry->entry_id; } else { echo base_url().'Home/announcementsReadMore/',$articleEntry->entry_id; } ?>" class="read-more">Read More  <img src="<?php echo base_url()."assets/"?>img/icons/double-arrow.png" alt="#"/></a>
                        </div>
                    </div>
                </div>
            </div>
            <?php endforeach; endif; ?>
            <p><?php echo $links; ?></p>
        </div>
    </section>

Контроллер

public function announcements(){
        $config = array();
        $config['base_url'] = base_url()."Home/announcements";
        $config['total_rows'] = $this->NCCT_Model->get_count('articles');
        $config['per_page'] = 3;
        $config['uri_segment'] = 2;

        $this->pagination->initialize($config);

        $page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;

        $checker = $this->session->userdata('logged_in');

        $data = [
            'title' => "Articles and Announcements",
            'checker' => $checker,
            'links' => $this->pagination->create_links(),
            'articles' => $this->NCCT_Model->fetchItemsOrderBy('articles', null, 'entry_id', 'ASC', $config['per_page'], $page),
        ];
        $this->load->view('pages/includes/header', $data);
        $this->load->view('pages/articlesAndAnnouncements');
        $this->load->view('pages/includes/footer');
    }

Надеюсь, вы поможете мне решить эту проблему. Заранее спасибо!

1 Ответ

1 голос
/ 01 марта 2020

Попробуйте убрать из вида

if($article = $this->NCCT_Model->fetchItems('articles')):

И изменить:

<?php endforeach; endif; ?>

На

<?php endforeach; ?>
...