当前位置:首页 » 编程语言 » 分页代码php

分页代码php

发布时间: 2022-05-18 02:25:36

⑴ 如何整理php分页代码,使其实现经典分页样式

如何整理PHP分页代码,使其实现经典分页样式
<?php
require_once("conn.php");
$ind_cont_sel_sql="select * from `board` order by `sn` desc";
$ind_cont_sel_query = mysql_query($ind_cont_sel_sql);
$page_info_num = 3;
$page_def = 1;
if (isset($_GET['pagenum'])){
$page_def = $_GET['pagenum'];
}
$sql_page_num = ($page_def - 1)*$page_info_num;
$sql_query_limit=$ind_cont_sel_sql." LIMIT ".$sql_page_num.",".$page_info_num;
$sql_query_limit_info=mysql_query($sql_query_limit);
$all_info_num = mysql_num_rows($ind_cont_sel_query);
$all_page_num = ceil($all_info_num/$page_info_num);
?>
<table width="100%" border="0">
<?php
$i=0;
while($ind_cont_sel_row=mysql_fetch_assoc($sql_query_limit_info)){ $i++; ?>
<tr>
<td colspan="2"><div class="post-utility"><p><h1><u><?php echo $sql_page_num+$i;?></u></h1></p></div></td>
</tr>
<tr>
<td width="80px"><p>title</p></td><td><?php echo nl2br($ind_cont_sel_row["title"]);?></td>
</tr>
<tr>
<td width="80px"><p>name</p></td><td><?php echo nl2br($ind_cont_sel_row["name"]);?></td>
</tr>
<tr>
<td width="80px"><p>time</p></td><td><?php echo nl2br($ind_cont_sel_row["time"]);?></td>
</tr>
<tr>
<td width="80px"><p>content</p></td><td><?php echo nl2br($ind_cont_sel_row["content"]);?></td>
</tr>
<tr><td colspan="2"><hr></td></tr>
<?php } ?>
<tr><td colspan="2" height="10px" align="center">
<a href="?pagenum=1">page</a>

<?
if ($_GET["pagenum"]!=1){ ?>
<a href="?pagenum=<? echo $_GET["pagenum"]-1; ?>">up</a>
<?
}else{
echo "";
} ?>

<?
for($page_num=($_GET["pagenum"]-2);$page_num<$_GET["pagenum"];$page_num++){
if ($page_num<=0){
echo "";
}else{?>
<a href="?pagenum=<?php echo $page_num;?>"><?php echo $page_num;?></a>
<?
}}
?>
<?php echo $_GET["pagenum"];?>
<!--<a href="?pagenum=<?php echo $_GET["pagenum"];?>"><?php echo $_GET["pagenum"];?></a>-->
<?
for($page_num=$_GET["pagenum"]+1;$page_num<=($_GET["pagenum"]+2);$page_num++){
if ($page_num>$all_page_num){
echo "";
}else{
?>
<a href="?pagenum=<?php echo $page_num;?>"><?php echo $page_num;?></a>
<?
}
}
?>

<?
if ($_GET["pagenum"]<$all_page_num){ ?>
<a href="?pagenum=<? echo $_GET["pagenum"]+1; ?>">next</a>
<?
}else{
echo "";
} ?>
<a href="?pagenum=<?php echo $all_page_num;?>">last</a>
</td>
</tr>
</table>

⑵ 谁有PHP分页代码 要详细 和 注释 谢谢

//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
if(!function_exists(pageft)){
//定义函数pageft(),三个参数的含义为:
//$totle:信息总数;
//$displaypg:每页显示信息数,这里设置为默认是20;
//$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。
//默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。
function pageft($totle,$displaypg=20,$url=''){
//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。
global $page,$firstcount,$pagenav,$_SERVER;
//为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。
$GLOBALS["displaypg"]=$displaypg;
$page=$_GET['page'];//如果不想接收值,就改php.ini中的register_global改为on(最好不要改)
if(!$page) $page=1;
//如果$url使用默认,即空值,则赋值为本页URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
//URL分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出URL的查询字串
if($url_query){
//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
//这里用到了正则表达式,请参考“PHP中的正规表达式”(http://www.pconline.com.cn/pce/empolder/wz/php/10111/15058.html)
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
//将处理后的URL的查询字串替换原来的URL的查询字串:
$url=str_replace($parse_url["query"],$url_query,$url);
//在URL后加page查询信息,但待赋值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}
//页码计算:
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$firstcount=($page-1)*$displaypg;
//开始分页导航条代码:
$pagenav="显示第 <B>".($totle?($firstcount+1):0)."</B>-<B>".min($firstcount+$displaypg,$totle)."</B> 条记录,共 $totle 条记录<BR>";
//如果只有一页则跳出函数:
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1' target=_self>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg' target=_self>上一页</a> "; else $pagenav.=" 上一页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg' target=_self>下一页</a> "; else $pagenav.=" 下一页 ";
$pagenav.=" <a href='$url=$lastpg' target=_self>尾页</a> ";
//下拉跳转列表,循环列出所有页码:
$pagenav.="到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
}

⑶ php分页功能怎么实现

php本身是没有分页概念的,分页是URL传参,然后通过mysql查询语句到数据库获取数据,然后实现的分页,url上的参数,通过PHP的$_GET都是可以获取到的。
现在市面上的PHP框架基本都有PHP分页类,参照文档直接调用就好了,如果想看实现过程,可以去下载一个TP框架,然后打开里面的分页类查看里面的源代码。

⑷ 求教php 分页代码,类似百度的那种

<?php
include("connection.php");
$perNumber=10; //每页显示的记录数
$page=$_GET['page']; //获得当前的页面值
$count=mysql_query("select count(*) from user"); //获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
$page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
while ($row=mysql_fetch_array($result)) {
echo "user_id:".$row[0]."<br>";
echo "username:".$row[1]."<br>"; //显示数据库的内容
}
if ($page != 1) { //页数不等于1
?>
<a href="fenye.php?page=<?php echo $page - 1;?>">上一页</a> <!--显示上一页-->
<?php
}
for ($i=1;$i<=$totalPage;$i++) { //循环显示出页面
?>
<a href="fenye.php?page=<?php echo $i;?>"><?php echo $i ;?></a>
<?php
}
if ($page<$totalPage) { //如果page小于总页数,显示下一页链接
?>
<a href="fenye.php?page=<?php echo $page + 1;?>">下一页</a>
<?php
}
?>
================================

这个是很简单的..而且也写了注释..不知道合不合你的意..

⑸ php分页代码 怎么写

Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。

一、分页程序的原理

分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。

二、主要代码解析

$pagesize=10; //设置每一页显示的记录数
$conn=mysql_connect("localhost","root",""); //连接数据库
$rs=mysql_query("select count(*) from tb_proct",$conn); //取得记录总数$rs
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];

//计算总页数

$pages=intval($numrows/$pagesize);

//判断页数设置

if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
else{
$page=1; //否则,设置为第一页
}

三、创建用例用表myTable

create table myTable(id int NOT NULL auto_increment,news_title varchar(50),news_cont text,add_time datetime,PRIMARY KEY(id))

四、完整代码

<html>
<head>
<title>php分页示例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<?php
$conn=mysql_connect("localhost","root","");
//设定每一页显示的记录数
$pagesize=1;
mysql_select_db("mydata",$conn);
//取得记录总数$rs,计算总页数用
$rs=mysql_query("select count(*) from tb_proct",$conn);
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
//计算总页数

$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
//设置页数
if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
else{
//设置为第一页
$page=1;
}
//计算记录偏移量
$offset=$pagesize*($page - 1);
//读取指定记录数
$rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);
if ($myrow = mysql_fetch_array($rs))
{
$i=0;
?>
<table border="0" width="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">标题</td>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">发布时间</td>
</tr>
<?php
do {
$i++;
?>
<tr>
<td width="50%"><?=$myrow["news_title"]?></td>
<td width="50%"><?=$myrow["news_cont"]?></td>
</tr>
<?php
}
while ($myrow = mysql_fetch_array($rs));
echo "</table>";
}
echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i< $page;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "[".$page."]";
for ($i=$page+1;$i<=$pages;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "</div>";
?>
</body>
</html>

五、总结

本例代码在windows2000 server+php4.4.0+mysql5.0.16上运行正常。该示例显示的分页格式是[1][2][3]…这样形式。假如想显示成“首页 上一页 下一页 尾页”这样形式,请加入以下代码:

$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;

if ($page > 1)
{
echo "<a href='fenye.php?page=".$first."'>首页</a> ";
echo "<a href='fenye.php?page=".$prev."'>上一页</a> ";
}

if ($page < $pages)
{
echo "<a href='fenye.php?page=".$next."'>下一页</a>
echo "<a href='fenye.php?page=".$last."'>尾页</a> ";
}

其实,写分页显示代码是很简单的,只要掌握了它的工作原理。希望这篇文章能够带给那些需要这方面程序web程序员的帮助。

⑹ php实现分页功能

具体代码如下:
/**
* 获取分页的HTML内容
* @param integer $page 当前页
* @param integer $pages 总页数
* @param string $url 跳转url地址 最后的页数以 '&page=x' 追加在url后面
*
* @return string HTML内容;
*/
public static function getPageHtml($page, $pages, $url){
//最多显示多少个页码
$_pageNum = 5;
//当前页面小于1 则为1
$page = $page<1?1:$page;
//当前页大于总页数 则为总页数
$page = $page > $pages ? $pages : $page;
//页数小当前页 则为当前页
$pages = $pages < $page ? $page : $pages;

//计算开始页
$_start = $page - floor($_pageNum/2);
$_start = $_start<1 ? 1 : $_start;
//计算结束页
$_end = $page + floor($_pageNum/2);
$_end = $_end>$pages? $pages : $_end;

//当前显示的页码个数不够最大页码数,在进行左右调整
$_curPageNum = $_end-$_start+1;
//左调整
if($_curPageNum<$_pageNum && $_start>1){
$_start = $_start - ($_pageNum-$_curPageNum);
$_start = $_start<1 ? 1 : $_start;
$_curPageNum = $_end-$_start+1;
}
//右边调整
if($_curPageNum<$_pageNum && $_end<$pages){
$_end = $_end + ($_pageNum-$_curPageNum);
$_end = $_end>$pages? $pages : $_end;
}

$_pageHtml = '<ul class="pagination">';
/*if($_start == 1){
$_pageHtml .= '<li><a title="第一页">«</a></li>';
}else{
$_pageHtml .= '<li><a title="第一页" href="'.$url.'&page=1">«</a></li>';
}*/
if($page>1){
$_pageHtml .= '<li><a title="上一页" href="'.$url.'&page='.($page-1).'">«</a></li>';
}
for ($i = $_start; $i <= $_end; $i++) {
if($i == $page){
$_pageHtml .= '<li class="active"><a>'.$i.'</a></li>';
}else{
$_pageHtml .= '<li><a href="'.$url.'&page='.$i.'">'.$i.'</a></li>';
}
}
/*if($_end == $pages){
$_pageHtml .= '<li><a title="最后一页">»</a></li>';
}else{
$_pageHtml .= '<li><a title="最后一页" href="'.$url.'&page='.$pages.'">»</a></li>';
}*/
if($page<$_end){
$_pageHtml .= '<li><a title="下一页" href="'.$url.'&page='.($page+1).'">»</a></li>';
}
$_pageHtml .= '</ul>';
echo $_pageHtml;
}

⑺ PHP显示很多数据库信息,如何自动分页呢代码

PHP代码如下:

/*

Author:默默
Date :2006-12-03

*/

$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10; //每页显示10条数据

$db=mysql_connect("host","name","pass"); //创建数据库连接
$select=mysql_select_db("db",$db); //选择要操作的数据库

/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据数除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/

$total=mysql_num_rows(mysql_query("select id from table")); //查询数据的总数,id是数据库中的一个自动赋值的字段
$pagenum=ceil($total/$num); //获得总页数

//假如传入的页数参数大于总页数,则显示错误信息
If($page>$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}

$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。

$info=mysql_query("select name from table limit $offset,$num"); //获取相应页数所需要显示的数据,name是数据里的一个字段
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //显示数据

For($i=1;$i<=$pagenum;$i++){

$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}

/*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下
1 2 3 4 5 6
*/
?>

⑻ PHP分页显示最简单代码

简单写法:
<?php
include
("./config/conn.php");
$sql="select
*
from
ly
order
by
id
desc";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
//统计行数
$pages=ceil($num/5);
//总页数
$page=$_GET['page'];
//获得page,如果没有设置或者page=0,把$page=1;
if(!isset($page)
||
$page==0)

$page=1;
$start=($page-1)*5;
$sql="select
*
from
ly
order
by
id
desc
limit
$start,5";
mysql_query($sql);
if($sumpage!=0)
{

if($page!=1)

{

echo
"<a
href=$PHP_SELF?page=1>首页</a>\t";

}else

{

echo
"首页\t";

}

if($page>1)

{

echo
"<a
href=$PHP_SELF?page=".($page-1).">上一页</a>\t";

}else

{

echo
"上一页\t";

}

if($page<$pages)

{

echo
"<a
href=$PHP_SELF?page=".($page+1).">下一页</a>\t";

}else

{

echo
"下一页\t";

}

if($page!=$pages)

{

echo
"<a
href=$PHP_SELF?page=".$pages.">尾页</a>\t";

}else

{

echo
"尾页\t";

}
}else
{

echo
"目前没有记录!!";
}

⑼ PHP分页代码

<?php
include("connection.php");
$perNumber=10;
//每页显示的记录数
$page=$_GET['page'];
//获得当前的页面值
$count=mysql_query("select
count(*)
from
user");
//获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber);
//计算出总页数
if
(!isset($page))
{
$page=1;
}
//如果没有值,则赋值1
$startCount=($page-1)*$perNumber;
//分页开始,根据此方法计算出开始的记录
$result=mysql_query("select
*
from
user
limit
$startCount,$perNumber");
//根据前面的计算出开始的记录和记录数
while
($row=mysql_fetch_array($result))
{
echo
"user_id:".$row[0]."<br>";
echo
"username:".$row[1]."<br>";
//显示数据库的内容
}
if
($page
!=
1)
{
//页数不等于1
?>
<a
href="fenye.php?page=<?php
echo
$page
-
1;?>">上一页</a>
<!--显示上一页-->
<?php
}
for
($i=1;$i<=$totalPage;$i++)
{
//循环显示出页面
?>
<a
href="fenye.php?page=<?php
echo
$i;?>"><?php
echo
$i
;?></a>
<?php
}
if
($page<$totalPage)
{
//如果page小于总页数,显示下一页链接
?>
<a
href="fenye.php?page=<?php
echo
$page
+
1;?>">下一页</a>
<?php
}
?>
================================
这个是很简单的..而且也写了注释..不知道合不合你的意..

⑽ php分页代码

?php<br
include("connection.php");
$perNumber=10;
//每页显示的记录数
$page=$_GET['page'];
//获得当前的页面值
$count=mysql_query("select
count(*)
from
user");
//获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber);
//计算出总页数
if
(!isset($page))
{
$page=1;
}
//如果没有值,则赋值1
$startCount=($page-1)*$perNumber;
//分页开始,根据此方法计算出开始的记录
$result=mysql_query("select
*
from
user
limit
$startCount,$perNumber");
//根据前面的计算出开始的记录和记录数
while
($row=mysql_fetch_array($result))
{
echo
"user_id:".$row[0]."
";
echo
"username:".$row[1]."
";
//显示数据库的内容
}
if
($page
!=
1)
{
//页数不等于1
?>
上一页
显示上一页
?php<br
}
for
($i=1;$i<=$totalPage;$i++)
{
//循环显示出页面
?>
?php
echo
$i
;?
?php<br
}
if
($page<$totalPage)
{
//如果page小于总页数,显示下一页链接
?>
下一页
?php<br
}
?>
================================
这个是很简单的..而且也写了注释..不知道合不合你的意..

热点内容
华为手机的自带铃声文件夹 发布:2024-05-02 07:20:14 浏览:501
xp系统开机密码怎么设置 发布:2024-05-02 06:49:48 浏览:759
柱加密区公式 发布:2024-05-02 06:40:19 浏览:4
java字节转换 发布:2024-05-02 06:40:11 浏览:687
用c语言做的程序 发布:2024-05-02 06:26:10 浏览:325
解压用流量 发布:2024-05-02 06:21:46 浏览:316
云购源码系统 发布:2024-05-02 06:12:52 浏览:105
电脑如何进行安卓升级 发布:2024-05-02 06:10:08 浏览:37
元龙第5集免费看完整版缓存 发布:2024-05-02 06:03:47 浏览:668
脚本宣传片 发布:2024-05-02 05:56:26 浏览:570