
假设。
你只需要显示当前页数的前3页和后3页。
呐么只有3种可能。
第一个可能,用户当前点击的页数未超过前3页。需要显示前7页(前三页和后三页以及当前点击的页)省略7页后面的页。
第二个可能,用户点击的页数以超过前三页可是未到尾三页。那么就要省略当前页数的前三页后三页之外的所有页码。
第三个可能,用户点击的页数以超过尾三页。那么就省略最后7页外的所有页码。
这是我写的分页码中算省略页码的代码。
$fornum = 10; //先声明你要显示的是几个页。
if($totalpage > $fornum) //判断当前的所有页数是否超过你要显示的页。如果没超过。那就不用费事直接显示所有页码就行叻。 如果超过进入循环。
{
//第一种可能。我这个是只显示10个页码。
if($page<=6) //如果当前的页码大于等于6也就是前面的页码不用省略。直接省略10个页码之后的页就OK叻。
{
for($i=1; $i <= $fornum; $i++)//这就是循环显示数字页码
{
if($page == $i ){
echo '<a href="javascript:;" class="on">'$i'</a>';
}
else{
echo '<a href="'$_SERVER['PHP_SELF']'page='$i'" class="num">'$i'</a>';
}
}
echo '<a href="'$_SERVER['PHP_SELF']'page='$totalpage'" class="num">'$totalpage'</a>';
}
//注意阿。这不是第二个可能。这是第三个可能。因为第一个和第三个好判断。而两个都不满足呐就是第二个可能叻。所以第二个不用判断。这个条件也很好解释。总的页数减去当前页数小于等于5的话。那么就省略最后10页以外的页码。
elseif(($totalpage-$page) <= 5)
{
echo '<a href="'$_SERVER['PHP_SELF']'page=1" class="num">1</a>';
for($i=$totalpage - ($fornum -1); $i <= $totalpage; $i++)//依旧是循环显示数字页码
{
if($page == $i ){
echo '<a href="javascript:;" class="on">'$i'</a>';
}
else{
echo '<a href="'$_SERVER['PHP_SELF']'page='$i'" class="num">'$i'</a>';
}
}
}
//这就是第二个可能叻。第一和第三的条件都不满足那么只有前没到头后没着尾的情况叻。所以不用判断直接显示当前页数的前几页和后几页。头尾都省略。
else
{
echo '<a href="'$_SERVER['PHP_SELF']'page=1" class="num">1</a>';
for($i=$page - 4; $i < $page + 5; $i++)//循环显示数字页码
{
if($page == $i ){
echo '<a href="javascript:;" class="on">'$i'</a>';
}
else{
echo '<a href="'$_SERVER['PHP_SELF']'page='$i'" class="num">'$i'</a>';
}
}
echo '<a href="'$_SERVER['PHP_SELF']'page='$totalpage'" class="num">'$totalpage'</a>';
}
}
//这是最上面的那个if的,如果总页码没超过你要显示的页码就直接显示所有的页码~
else
{
for($i=1; $i <= $totalpage; $i++)//仍是循环显示数字页码
{
if($page == $i ){
echo '<a href="javascript:;" class="on">'$i'</a>';
}
else{
echo '<a href="'$_SERVER['PHP_SELF']'page='$i'" class="num">'$i'</a>';
}
}
}
然后就木有叻。首页尾页上页下页的代码我就不粘叻。 关于显示固定页码的代码就是这些。希望你能看懂。打的我手都酸了。。。
indexhtml //提交数据\x0d\ \x0d\ \x0d\ \x0d\\x0d\\x0d\getphp//获取数据\x0d\ if(isset($_POST["sub"]{ //如果提交了表单\x0d\ $data=$_POST["data"]; //将传递过来的数据赋给$data\x0d\ echo $data; //输出获得的数据\x0d\}
这个是简单的input
1、html前端(使用POST传值)代码
<!Doctype html><html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>Form Page</title>
</head>
<body>
<form method="post" action="1php">
<label>转到第</lable><input type="text" name="page">页<br>
<input type="submit" value="提交" name="submit">
</form>
</body>
</html>
2、1php代码
<php$page = is_int($_POST['page'];
if(!$page){
echo "页码格式错误";
}else{
echo "你看到的是"$page"页";
}
function is_int($page){
$reg = '/[0-9]/';
if(preg_match($reg, $page){
return $page;
}else{
return false;
}
}
>
获取所有分页数量和当前分页号,需要修改一个文件就行了,然后内容模板调用标签:所有分页数为[!--pagecount--] 当前分号为[!--pageon--]
<php $curpageno='[!--listpageno--]'; >
修改方法如下:《参考文献>
以上就是关于求php数字分页算法全部的内容,包括:求php数字分页算法、PHP 获取网页中用户输入的数据的函数是什么、通过GET或者POST参数获取从前端浏览器传递的表示页码的参数page,并判断page的值是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)