CodeIgniter пользовательский помощник для разбивки на страницы

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

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

     if (!function_exists('pagination'))

{

    function prikazi($per_page, $page, $url, $total)
    {
        $CI =& get_instance();
           $adjacents = "2";


    $page = ($page == 0 ? 1 : $page); 
    $start = ($page - 1) * $per_page;                              

    $prev = $page - 1;                         
    $next = $page + 1;
    $lastpage = ceil($total/$per_page);
    $lpm1 = $lastpage - 1;

    $pagination = "";
    if($lastpage > 1)
    {  
       $pagination .= "
    "; $pagination .= "
  • Page $page of $lastpage
  • "; if ($lastpage < 7 + ($adjacents * 2)) { for ($counter = 1; $counter <= $lastpage; $counter++) { if ($counter == $page) $pagination.= "
  • $counter
  • "; else $pagination.= "
  • $counter
  • "; } } elseif($lastpage > 5 + ($adjacents * 2)) { if($page < 1 + ($adjacents * 2)) { for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) { if ($counter == $page) $pagination.= "
  • $counter
  • "; else $pagination.= "
  • $counter
  • "; } $pagination.= "
  • ...
  • "; $pagination.= "
  • $lpm1
  • "; $pagination.= "
  • $lastpage
  • "; } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) { $pagination.= "
  • 1
  • "; $pagination.= "
  • 2
  • "; $pagination.= "
  • ...
  • "; for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) { if ($counter == $page) $pagination.= "
  • $counter
  • "; else $pagination.= "
  • $counter
  • "; } $pagination.= "
  • ..
  • "; $pagination.= "
  • $lpm1
  • "; $pagination.= "
  • $lastpage
  • "; } else { $pagination.= "
  • 1
  • "; $pagination.= "
  • 2
  • "; $pagination.= "
  • ..
  • "; for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) { if ($counter == $page) $pagination.= "
  • $counter
  • "; else $pagination.= "
  • $counter
  • "; } } } if ($page < $counter - 1){ $pagination.= "
  • Next
  • "; //$pagination.= "
  • Last
  • "; }else{ //$pagination.= "
  • Next
  • "; //$pagination.= "
  • Last
  • "; } $pagination.= "
\n";     
    }          
        return $pagination;
    }
}

И в другом файле я пытаюсь повторить так:

  $this->load->helper('pagination');
    echo prikazi($bypage,$page,$link,$total); 
0
nl ja de
& bypage = 5, $ page = 1; if (isset ($ _ GET ['page']) && $ _GET ['page']! = '') {$ page = $ _ GET ['page']; }, $ link = "some string" и $ total = to mysqlnumrows, если это то, что вы имели в виду?
добавлено автор Djordje Rajic, источник
какие значения вы используете при вызове функции?
добавлено автор dmaij, источник

1 ответы

Когда вы смотрите на

$lastpage = ceil($total/$per_page);
$lpm1 = $lastpage - 1;

$pagination = "";
if($lastpage > 1)
{  
...
} else
return $pagination;

это, вероятно, сводится к тому, что $ lastpage равно 0, поэтому возвращается пустая строка.

Вы можете взглянуть на

 if (!function_exists('pagination'))

{

function prikazi($per_page, $page, $url, $total)
{

тоже потому, что имена функций не совпадают

0
добавлено
Вы были правы, он возвращает пустую строку, но как ее исправить?
добавлено автор Djordje Rajic, источник
Это было, вы помогли поблагодарить вас, мне это не понравилось, у меня нет управления coplete, но спасибо :)
добавлено автор Djordje Rajic, источник
Я ожидаю, что сумма $ (которая представляет количество строк) равна 0. Может быть, странный вопрос, но почему вы не используете помощник для разбивки на страницы?
добавлено автор dmaij, источник
np, рад помочь.
добавлено автор dmaij, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp