马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我先把我自己学习PHP的过程做一下概括:
触及到分页时, 除非只显示上一页/下一页, 不然需求盘算肇端页和停止页. 看过良多代码都是用大批的if-else来完成, 代码量大, 又不简约. 如今供应一种只需求3行代码的算法.
一个好的分页算法, 应当具有上面的长处:
以后页码应当尽可能在正两头.
假如”首页”和”尾页”不成用(以后处于第一页或最初一页), 不要埋没这两组文字, 以避免链接按钮地位变化.
算法复杂.
上面的算法具有后面1和3两个长处.
PHP:
// $curr_index, 以后页码.
// $link_count, 链接数目.
// $page_count, 以后的数据的总页数.
// $start, 显示时的肇端页码.
// $end, 显示时的终止页码.
$start = max(1, $curr_index - intval($link_count/2));
$end = min($start + $link_count - 1, $page_count);
$start = max(1, $end - $link_count + 1);
JavaScript:
start = Math.max(1, curr_index - parseInt(link_count/2));
end = Math.min(page_count, start + link_count - 1);
start = Math.max(1, end - link_count + 1);
基础这个东西是个比较笼统的概念,如果你之前学习过c语言, c语言被认为是 |