php分页算法(java分页算法)

本文目录一览:

php 分页算法

这是我以前用的分页,你看看吧,希望能帮到你。

html

head

title分页/title

/head

body

table align=”center” border=”1″ width=”500″

tr

td编号/td

td用户名/td

td密码/td

td邮箱/td

/tr

?php

$conn=mysql_connect(“localhost”,”root”,””);

mysql_set_charset(“utf8”,$conn);

$db = mysql_select_db(“bbs”,$conn);

$rs = mysql_query(“select * from userInfo”);

$totalRow = mysql_num_rows($rs);//总记录数

$currentPage = $_GET[“currentPage”];//当前页

if($currentPage == null){

$currentPage = 1;

}

$pageSize = 3;//每页显示的记录数

$first = ($currentPage-1)*$pageSize;//起始值

$last = $first + $pageSize;//结束值

$totalPage = ceil($totalRow / $pageSize);//总页数

if($last $totalRow)

{

$last = $totalRow;

}

for($i=$first;$i$last;$i++)

{

mysql_data_seek($rs,$i);//定位游标

$row = mysql_fetch_array($rs);

echo “tr”;

echo ” td{$row[0]}/td”;

echo ” td{$row[1]}/td”;

echo ” td{$row[2]}/td”;

echo ” td{$row[3]}/td”;

echo “/tr”;

}

mysql_free_result($rs);

mysql_close($conn);

?

tr

td colspan=”4″ align=”center”

?php

if($currentPage == 1)

{

echo “首页 上一页”;

}

else

{

?

a href=”fenye.php?currentPage=1″首页/a

a href=”fenye.php?currentPage=?php echo $currentPage-1 ?”上一页/a

?php

}

if($currentPage == $totalPage)

{

echo ” 下一页 尾页”;

}

else

{

?

a href=”fenye.php?currentPage=?php echo $currentPage+1 ?”下一页/a

a href=”fenye.php?currentPage=?php echo $totalPage ?”尾页/a

?php

}

?

td

/tr

/table

/body

/html

求php数字分页算法

假设。

你只需要显示当前页数的前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’;

}

}

}

然后就木有叻。首页尾页上页下页的代码我就不粘叻。 关于显示固定页码的代码就是这些。希望你能看懂。打的我手都酸了。。。

php 分页设置

if($offset) //如果偏移量是0,则没有上一页的链接

{

$preoffset=$offset-10;

print(“a href=\”$PHP_SELF?offset=$preoffset\”上一页/a \n”);

//从这里知道$offset是每次查询数据库记录时的第一条记录(相对总共10条记录而言)

}

//计算总共需要的页数

$page_cnt=ceil($num/10);

//显示到所有页的链接

for ($i=1; $i=$page_cnt; $i++)

{

$page_offset=10*$i-10;

print(“a href=\”$PHP_SELF?offset=$page_offset\”$i/a \n”);

}

//检查是否是最后一页

if ($page_cnt!=0 (($offset+10)/10)!=$page_cnt)

{

$backoffset=$offset+10;

print(“a href=\”$PHP_SELF?offset=$backoffset\”下一页/a \n”);

}

//页码显示

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/242733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:51
下一篇 2024-12-12 12:51

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python实现爬楼梯算法

    本文介绍使用Python实现爬楼梯算法,该算法用于计算一个人爬n级楼梯有多少种不同的方法。 有一楼梯,小明可以一次走一步、两步或三步。请问小明爬上第 n 级楼梯有多少种不同的爬楼梯…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29

发表回复

登录后才能评论