44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
|
|
function initPagination($pagePerItem, $totalItems, $selectedPage, $onPageClicked)
|
|
{
|
|
$CI = &get_instance();
|
|
$totalPage = ceil($totalItems / $pagePerItem);
|
|
$startPage = 1;
|
|
$endPage = $totalPage;
|
|
|
|
if ($selectedPage > 5) {
|
|
$startPage = $selectedPage - 4;
|
|
} else {
|
|
$startPage = 1;
|
|
}
|
|
|
|
if (($selectedPage + 4) < $totalPage) {
|
|
$endPage = $selectedPage + 4;
|
|
} else {
|
|
$endPage = $totalPage;
|
|
}
|
|
|
|
if ($endPage < 10) {
|
|
$endPage = $totalPage < 10 ? $totalPage : 10;
|
|
}
|
|
|
|
$pagiantionData['pagePerItem'] = $pagePerItem;
|
|
$paginationData['totalItems'] = $totalItems;
|
|
$paginationData['totalPage'] = $totalPage;
|
|
$paginationData['selectedPage'] = $selectedPage;
|
|
$paginationData['startPage'] = $startPage;
|
|
$paginationData['endPage'] = $endPage;
|
|
|
|
if (strpos($onPageClicked, '?')) {
|
|
$onPageClicked = $onPageClicked . "&";
|
|
} else {
|
|
$onPageClicked = $onPageClicked . "?";
|
|
}
|
|
|
|
$paginationData['handlePagingUrl'] = $onPageClicked;
|
|
|
|
return $CI->load->view('shared/pagination', $paginationData, true);
|
|
}
|