//関数は指定されたページにジャンプします 関数 gotoPage(ページ) { document.getElementById("ページ""/> //関数は指定されたページにジャンプします 関数 gotoPage(ページ) { document.getElementById("ページ"">
比較的包括的な PHP ページング ナビゲーション クラス
POST モード ページング: http://hudeyong926.iteye.com/blog/764703
<script language="javascript"> //函数跳转到指定页面 function gotoPage(page) { document.getElementById("page").value = page; //隐藏表单的页控件 document.getElementById("searchForm").submit(); } </script> <!-- 表单参考如下 --> <form name="searchForm" id="searchForm" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <!-- 下面是个隐藏页面号码值控件 --> <input type="hidden" name="page" id="page" size=30 value="1"/> <!-- 提交控钮,注意id和name不要把值设成"submit",我将其改为"submit1" --> <!-- 不然在gotoPage()函数里与表单的提交事件submit()有冲突,导至函数不运行 --> <input name="submit1" id="submit1" type="submit" value="查 找" size=30 /> </form> <?php /** * 分页 echo multi(18,2,2); * @param $num - 总数 * @param $perpage - 每页数 * @param $curpage - 当前页 * @param $maxpages - 允许显示的最大页数 * @param $page - 最多显示多少页码 * @param $simple - 是否简洁模式(简洁模式不显示上一页、下一页和页码跳转) * @return 返回分页代码 */ function multi($num, $perpage, $curpage, $maxpages = 0, $page = 10, $simple = false) { $multipage = ''; $realpages = 1; if ($num > $perpage) { $offset = 2; $realpages = @ceil($num / $perpage); $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages; if ($page > $pages) { $from = 1; $to = $pages; } else { $from = $curpage - $offset; $to = $from + $page - 1; if ($from < 1) { $to = $curpage + 1 - $from; $from = 1; if ($to - $from < $page) { $to = $page; } } elseif ($to > $pages) { $from = $pages - $page + 1; $to = $pages; } } //注意下面href后面我增加了一个#号,让链接失效,在后面增加onclick函数 $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="#" onclick="gotoPage(1);" class="first">1 ...</a>' : '') . ($curpage > 1 && !$simple ? '<a href="#" onclick="gotoPage(' . ($curpage - 1) . ');" class="prev">??</a>' : ''); for($i = $from; $i <= $to; $i++) { $multipage .= $i == $curpage ? '<strong>' . $i . '</strong>' : '<a href="#" onclick="gotoPage(' . $i .');">' . $i . '</a>'; } $multipage .= ($curpage < $pages && !$simple ? '<a href="#" onclick="gotoPage(' . ($curpage + 1) . ');" class="next">??</a>' : '') . ($to < $pages ? '<a href="#" onclick="gotoPage('.$pages.');" class="last">... ' . $realpages . '</a>' : '') . //下面这一行注释掉,改了一下超过10页,可以手动输入页码跳转到指定页面函数 (!$simple && $pages > $page ? '<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {gotoPage(this.value);}" /></kbd>' : ''); $multipage = $multipage ? '<DIV class="page">' . (!$simple ? '<em>共' . $num . '条</em>' : '') . $multipage . '</DIV>' : ''; } return $multipage; } ?>
GET モード ページング:
ページの左側のレイアウト:
?
?
?
?
レイアウト
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ページの右側のレイアウト
?