求php数字分页算法

求php数字分页算法,第1张

假设。

你只需要显示当前页数的前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的值是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9334782.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存