用PHP如何实现分页并能够实现上一页,下一页,跳转到()页的功能?

举个例子:首页 上一页 12345... 下一页 尾页 跳转到【】页 这样的模式,
如果能够实现这个更好啦:
若页数多了的话省略号还会随着页数的推进而改变入:3456789...
我初学PHP,请各位高手帮忙啊!

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

<body>
<?php
$pagesize=10; //设定每一页显示的记录数

$conn=mysql_connect("localhost","root","jrq");
mysql_select_db("sj",$conn);
$rs = mysql_query( "select * from `dw_newsdata`",$conn); //这里有第二个可选参数,指定打开的连接
//-----------------------------------------------------------------------------------------------//
//分页逻辑处理
//-----------------------------------------------------------------------------------------------
$tmpArr = mysql_fetch_array($rs);
$numAL = mysql_num_rows($rs); //取得记录总数$rs
$pages=intval($numAL/$pagesize); //计算总页数

if ($numAL % $pagesize) $pages++;

//设置缺省页码
//↓判断“当前页码”是否赋值过
if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否则,设置为第一页

//↓计算记录偏移量
$offset=$pagesize*($page - 1);

//↓读取指定记录数
$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—当前页—记录集!
$curNum = mysql_num_rows($rs); //$curNum - 当前页实际记录数,for循环输出用
?>
<table border="0" width="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">标题</td>
<td width="50%" bgcolor="#E0E0E0">发布时间</td>
</tr>

<?php
while ($tmpArr = mysql_fetch_array($rs)) //提取一行,并循环判断
{
$i=0;

// for($a=0;$a<$ColNum;$a++) //==for结束==
?>
<tr>
<td width="50%"><?= $tmpArr[1]; //$tmpArr["news_title"] ; ?></td>
<td width="50%"><?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?></td>
</tr>

<?php

}//==while结束==
?>
</table>

<?php
//============================//
// 翻页显示 一
//============================//
echo "<p>"; // align=center
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;

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

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

//============================//
// 翻页显示 二
//============================//
echo " | 共有".$pages."页(".$page."/".$pages.")";

for ($i=1;$i< $page;$i++){echo "<a href='?page=".$i."'>[".$i ."]</a> ";} // 1-先输出当前页之前的

if ($page > 0) echo "[".$page."]";; // 2-再输出当前页

for ($i=$page+1;$i<=$pages;$i++){echo "<a href='?page=".$i."'>[".$i ."]</a> ";}// 3-接着输出当前页之后

echo "转到第 <INPUT maxLength=3 size=3 value=".($page+1)." name=gotox> 页 <INPUT hideFocus onclick=\"location.href='?page=gotox.value';\" type=button value=Go name=cmd_goto>";

echo "</p>";

?>

</body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-14
现在这种分页控件很多。。
手写的话 就是SQL + LIMIT 用URL 传参数来判断获取数据并显示
推进只是显示的时候做下判断就可以
自己实现的话 不难就是繁琐
第2个回答  2011-04-14
history.back ??

PHP,在html中怎样实现分页代码:首页、下一页、上一页、尾页???
echo "下一页";}else{ if ($pageval*$pagesize>=$rows){ echo "上一页";}else{ echo "上一页 "."下一页";} } } echo "";sqli="select * from tb_info limit $page,$pagesize";que=mysql_query($sqli);while($row=mysql_fetch_array($que)){ echo $row['type'].""...

thinkphp分页时 怎么取得 上一页下一页的传递变量 就是我想不用原来的...
page = new Page($tatal,$per);\/\/实例化分页类对象 page -> setConfig('header','共%TOTAL_ROW%条记录 第%NOW_PAGE%页\/共%TOTAL_PAGE%页');page -> setConfig('prev', '上一页');page -> setConfig('next','下一页');page -> setConfig('last','末页');page -> setConfig('...

PHP分页显示制作详解
至于其他的参数 比如 上一页($PReviousPageID) 下一页($NextPageID) 总页数($numPages)等等 都可以根据前边这几个东西得到 以MySQL数据库为例 如果要从表内截取某段内容 sql语句可以用 select * from table limit offset rows 看看下面一组sql语句 尝试一下发现其中的规率 前 条记录 select * from table...

...下一页 尾页 转到第 “口 ”页 确定 共6页,求php代码关键是手动输入...
\/\/下拉跳转页面 function JumpPage() { Jump = " 当前第 ".$this->PageNum()." 页 共 ".$this->PageCount()." 页 跳到 ";for ($i=1; $i<=$this->PageCount(); $i++) { if ($i==$this->PageNum())Jump .= "Url($this->LinkAry)."&page=".$i."\\" selected>$i"...

PHP分页问题. 望大虾开示
1.$_GET[page] 是你点击 上一页 或者 下一页 传递过来的, 当你的页面初始化的时候 也就是你没还没点击上一页 下一页 的时候 他应该是0 2.$page.=','; 这个的意思是 $page = $page . ','; 他是用来拼写SQL 语句的 拼写后 你的SQL 应该是 select * from message li...

PHP分页原理是怎么样的
至于其他的参数,比如:上一页($PreviousPageID)、下一页($NextPageID)、总页数($numPages)等等,都可以根据前边这几个东西得到。以mysql数据库为例,如果要从表内截取某段内容,sql语句可以用:select * from table limit offset, rows。看看下面一组sql语句,尝试一下发现其中的规率。前10条记录:select * from ...

php遍历文件并分页.
echo "共".$pages."页 第".$page."页 ";if($page>1)echo "上页";if($page<$pages)echo "下页";echo "";for($i=($page-1)*$pagesize;$i<$page*$pagesize;$i++) { if(!isset($ar[$i]))break;echo $ar[$i]."";} ?> ...

phpweb怎么加文章上一篇下一篇翻页
lastpg = ceil($totle \/ $displaypg); \/\/最后页,也是总页数 page = min($lastpg, $page);prepg = $page -1; \/\/上一页 nextpg = ($page == $lastpg ? 0 : $page +1); \/\/下一页 firstcount = ($page -1) * $displaypg;\/\/开始分页导航条代码:pagenav = "显示第 <B>"...

一个网页实现分页
不清楚你的网站是用什么实现的,现在提供两种方法:一、动态网页:这里有一段PHP代码,供参考,我这边运行成功:1.显示内容部分<?php$page=$_GET["page"];if($page==""){$page=1;}if(is_numeric($page)){$page_size=30;$query="select count(*) as total from solution order by id ...

在HTML中用PHP制作首页,上一页,下一页,页尾等效果,简单的,初学着,谢 ...
if($page>1){\/\/不在第一页 echo '上一页 ';} if($page < $totalPage){\/\/不在最后一页 echo '下一页 ';} ?> <a href="pagesort.php?page=<?php echo $totalPage;?>">尾页

相似回答