/ / Ustawianie paginacji - codeigniter, paginacja

Ustawianie paginacji - autor kodu, podział na strony

controllers / home.php

$this->page_model->counter($this->data["post_detail"]->post_ID);
$this->data["post_list"] = $this->post_model->post($this->data["post_detail"]->post_ID);
$this->data["gallery_list"] = $this->post_model->post($this->data["post_detail"]->post_ID, true);





$isAjax = array("news-post");
if (in_array($this->data["post_detail"]->template_name, $isAjax))
{
if ( ! $this->input->is_ajax_request())
redirect($this->data["page_detail"]->post_alias);

return $this->load->view($this->data["post_detail"]->template_name, $this->data);
}
$this->load->view($this->data["post_detail"]->template_name, $this->data);

widoki / news.php

<?php
$this->load->library("pagination");

$config["base_url"] = "http://gsa-constructionspecialist.com/articles/article";
$config["total_rows"] = 14;
$config["per_page"] = 5;

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

?>

<div class="w626 content right">
<?php
if ($post_list){
foreach ($post_list as $pl){
?>
<div>
<p><br><br><strong><?php echo $pl->post_title; ?></strong></p>
<p><?php echo date("F jS, Y",strtotime($pl->post_date)); ?></p>
<br/>
<div style="text-align:justify"><?php echo word_limiter(strip_tags($pl->post_content),25); ?><a href="<?php echo site_url("articles/".$this->uri->segment(2)."/detail/".$pl->post_alias); ?>"><span style="color:#fff">&nbsp;&nbsp;Read More ></span></a></div>
</div>
<?php } } ?>

<?php echo $this->pagination->create_links();   ?>

Próbuję ustawić paginację, ale pojawia się ona tylko na dole i nie ukrywa artykułów, które mają być na następnej stronie.

Proszę o pomoc w naprawieniu kodów? Z góry dziękuję.

Odpowiedzi:

0 dla odpowiedzi № 1

Klasa paginacji wygeneruje numery stronna podstawie podanych przez Ciebie informacji, jednak to do Ciebie należy wygenerowanie rzeczywistych wyników dla określonej strony. Możesz powiedzieć, że klasa paginacji to 5 wyników na stronę, ale w rzeczywistości nie wie, czy otrzymujesz 5 wyników na stronę, czy 500.

Wydaje mi się, że:

$this->data["post_list"] = $this->post_model->post($this->data["post_detail"]->post_ID);

wymaga podania aktualnego numeru strony, tj.

$this->data["post_list"] = $this->post_model->post($this->data["post_detail"]->post_ID, $current_page);

Następnie musisz zmodyfikować zapytanie bazy danych w modelu za pomocą LIMIT, aby ograniczyć liczbę wyników (i przesunięcie) dla tej strony.

czy to pomaga?