0
我有這個算法,我爲分頁製作。如何限制分頁頁數 - PHP
的$array
變量是從查詢設置頁碼和限制已設置後的結果。這是PDO :: fetchAll()函數的結果。
的$array["totalCount"]
包含表中的所有行,不僅集,但所有的行數。
我想要的是限制顯示的頁面數量,並使它像Google風格分頁一樣,我在網上搜索了很多類似的問題,但是讓我難以想象的是猜測如何在其中實現它我的算法與其他算法有很大不同。
在此先感謝。
public static function renderPaginationBar($obj, $params) {
$array = $obj->getAll($params);
$set = $params["set"];
$perSet = $params["limit"];
$pages = ceil((int)$array["totalCount"]/(int)$perSet);
if($pages > 1 && $set <= $pages) {
$query = preg_replace('/set=\d*/i', '', http_build_query($_GET));
?>
<ul class="pagination">
<?php
if($set > 1) {
?>
<li><a href="?<?php echo $query; ?>&set=1"><<< Inicio</a></li>
<li><a href="?<?php echo $query; ?>&set=<?php echo ((int)$set - 1) ?>"><<</a></li>
<?php
}
for($i = 1; $i <= $pages; $i++) {
$class = $set == $i ? "active" : "";
?>
<li class="<?php echo $class; ?>"><a href="?<?php echo $query; ?>&set=<?php echo $i.""; ?>"><?php echo $i; ?></a></li>
<?php
}
if($set < $pages) {
?>
<li><a href="?<?php echo $query; ?>&set=<?php echo ((int)$set + 1); ?>">>></a></li>
<li><a href="?<?php echo $query; ?>&set=<?php echo $pages; ?>">Último >>></a></li>
<?php
}
?>
</ul>
<?php
}
unset($array["totalCount"]);
return $array;
}
我要去嘗試,還是有點困惑。 – JuanBonnett 2014-10-02 01:31:29
你如何獲得當前頁面變量? – 2014-10-02 01:34:53
$ params [「set」]是當前頁面的變量。功能外由GET – JuanBonnett 2014-10-02 01:35:37