当前位置:首页 » 编程语言 » php分页跳转

php分页跳转

发布时间: 2022-09-15 13:44:41

‘壹’ 用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>

‘贰’ php分页跳转问题

show.php?&page=10 改为show.php?page=10 这样比较好吧,不知道有没有影响

$page = $_GET[page];
这句要放到 前面,最后这样写试试

-----------
$page = $_GET[page];
$rt=new eee;
echo $rt->you();
?>
////////////////////////////////////

‘叁’ PHP与数据库做出分页跳转,求完整代码~~~

举例说明:
<?php

$url = $_SERVER['PHP_SELF'];
$filename= substr( $url , strrpos($url , '/')+1 ); //本页文件名

$num=20; //每页显示条数
$numsql=mysql_query("select * from TABLE");
$total=mysql_num_rows($numsql); //总条数
$pagesize=(int)(($total-1)/$num)+1;//总页数
isset($_GET['page'])?$page=$_GET['page']:$page="1";//当前页数
$limit=(int)(($page-1)*$num);//当前页的首条记录

//上面的代码写在循环输出语句之前,下面是循环语句

$query=mysql_query("select * from TABLE order by uid limit $limit,$num");

while(..){…}//省略掉循环代码,一般是表格行列循环输出之类的。下面的写在循环语句之后。

echo "<div id='pagenav'>当前第".$page."页/共".$pagesize."页总记录条数:".$total."条";
if($page>1)
{
echo "<a href='".$filename."?do=source&page=1'>首页</a>";
echo "<a href='".$filename."?do=source&page=".($page-1)."'>上一页</a>";
}
if($pagesize>$page)
{
echo "<a href='".$filename."?do=source&page=".($page+1)."'>下一页</a>";
echo "<a href='".$filename."?do=source&page=".$pagesize."'>尾页</a>";
}
echo "跳转到<select id='' size='1' onchange='changese(this)'>";
for($i=1;$i<=$pagesize;$i++)
{
echo "<option value='".$i."'";
if($i==$page) { echo ' selected'; }
echo ">".$i."</option>";
}
echo "</select>";
echo "</div>";

?>

//下面是select选择分页的js代码,注意这里用了php的自定义变量$filename代替页面路径,完全可以改成当前文件名。

<script language="javascript">
function changese(obj){
window.location.href="<?php echo $filename;?>?do=source&page="+obj.value;
}
</script>

‘肆’ 使用php分页技术后,点击第一页的按钮页面可顺利跳转,但是点击第二页或者之后页面的按钮,页面无法跳转

看了这个代码,发现没有获取当前页码的代码,所以我改了一下,加了个获取当前页码的代码

functionshowpagelink($pagesize,$result,$currentpage,$pageleft,$pageright,$phpfile)	//分页显示函数,参数分别为每页记录数,数据集,当前页,左偏移页面数量,右偏移页面数量,链接页面
{

$totalpage=ceil($totalnum/$pagesize); //计算总页数
$currentpage=$_GET['currentpage'];//获取当前页码
if($currentpage<1)$page=1; //处理页码合法性

if($currentpage>$totalpage)$currentpage=$totalpage;
$pagecode='<divclass="pagelink">';

if($currentpage!=1)
{
$pagecode.="<ahref="{$phpfile}?currentpage=1"><<</a>";//第一页
$pagecode.="<ahref="{$phpfile}?currentpage=".($currentpage-1).""><</a>";//上一页
}
if(($pagelink=$currentpage-$pageleft)<=0)$pagelink=1;
while($pagelink<$currentpage)
{
$pagecode.="<ahref="{$phpfile}?currentpage=$pagelink"><spanclass='pc'>$pagelink</span></a>";
$pagelink++;
}

$pagecode.="<strong>$currentpage</strong>";//输出当前页

$pagelink=$currentpage+1;
$i=0;
while($pagelink<=$totalpageand$i<$pageright)
{
$pagecode.="<ahref="{$phpfile}?currentpage=$pagelink"><spanclass='pc'>$pagelink</span></a>";
$pagelink++;
$i++;
}
if($currentpage!=$totalpage){
$pagecode.="<ahref="{$phpfile}?currentpage=".($currentpage+1)."">></a>";//下一页
$pagecode.="<ahref="{$phpfile}?currentpage=$totalpage">>></a>";//最后一页

}
$pagecode.="<span>$currentpage/$totalpage共为您查到".$totalnum."件商品</span>"; //第几页,共几页
$pagecode.="</div>";
echo$pagecode;

}

functionshowpagedetail($pagesize,$query,$currentpage,$conn) //页面数据显示函数
{
$limit=intval($pagesize*($currentpage-1));
$query.="limit$limit,$pagesize";
$result=mysql_query($query,$conn);
while($info=mysql_fetch_array($result,MYSQL_NUM))
{
echo"<ulclass='pro_con1'>";
echo$info[0];
echo"<liclass='pro_img'><ahref='#'title=''><imgsrc='$info[7]'width='150'height='150'alt='产品图片'/></a></li>";
echo"<liclass='pro_name'><ahref='#'title=''>$info[1]</a></li>";
echo"<liclass='pro_price'>单价:<span>¥$info[5]</span>销量:<span>$info[3]件</span></li>";
echo"<liclass='pro_custom'><a><inputtype='submit'name='$info[0]'id='$info[0]'value='产品详情'/></a></li></ul>";
}
$num=mysql_affected_rows();
for($i=1;$i<=$num;$i++){
if(@$_REQUEST[$i]){
echo$i;
$_REQUEST["temp"]=$i;
echo"<script>location.href='proct_detail.php'</script>";
}}}
$pagesize=2;
$phpfile="proct.php";
if(!@$currentpage=$_GET["currentpage"])$currentpage=1;
$pageleft=1;
$pageright=1;
showpagedetail($pagesize,$query,$currentpage,$conn);
$num=mysql_affected_rows();
for($i=1;$i<=$num;$i++){
if(@$_REQUEST[$i]){
echo$i;
$_REQUEST["temp"]=$i;
echo"<script>location.href='proct_detail.php'</script>";
}}

你可以先试试这个

‘伍’ PHP分页中跳转到指定页如何做

使用GET传参,再根据参数来确定查询数据开始的偏移量,例:
$sql = sprintf('SELECT * FROM t WHERE uid=1 LIMIT %d,10',$_GET['page']);
$_GET['page']决定查询结果集开始的序号,然后下一页的开始序号就是这个值加上每页显示的条数(这里是10).

热点内容
手柄怎么调节安卓模式 发布:2025-01-11 21:44:36 浏览:947
国产服务器搭建ftp 发布:2025-01-11 21:27:33 浏览:917
电脑系统哪个好用配置 发布:2025-01-11 21:26:04 浏览:139
交换机配置中web配置是什么意思 发布:2025-01-11 21:12:07 浏览:409
物资数据库 发布:2025-01-11 21:00:24 浏览:854
javastop 发布:2025-01-11 21:00:20 浏览:31
机械手臂用什么编程 发布:2025-01-11 20:55:32 浏览:592
买钓箱要哪些配置就够了 发布:2025-01-11 20:24:23 浏览:510
防脚本取色 发布:2025-01-11 20:15:17 浏览:638
为什么庄周活动安卓没开始 发布:2025-01-11 20:14:23 浏览:462