关于php分页的问题,
两个页面,这个是分页类页面<?phpif(!function_exists(pageft)){functionpageft($totle,$displaypg=20,$u...
两个页面,这个是分页类页面
<?php
if(!function_exists(pageft)){
function pageft($totle,$displaypg=20,$url=''){
global $page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;
if(!$page) $page=1;
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
$parse_url=parse_url($url);
$url_query=$parse_url["query"];
if($url_query){
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
$url=str_replace($parse_url["query"],$url_query,$url);
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 条记录";
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg'>尾页</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
$result2=mysql_query("select count(*) as count1 from `artlist`");
$row=mysql_fetch_array($result2);
$total=$row['count1'];
pageft($total,2);
$sql="select * from artlist order by id desc limit $firstcount,$displaypg";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))
{
?>
这个部分是显示代码,这部分是正常的
<?php
}
?>
<div id="contpage"><?php echo $pagenav; ?></div>
问题是$firstcount传递不了值,点击后页的时候,还是现实一开始显示那几条信息,再点击的时候url就变了,成这样http://localhost/text/index.php?page=2&page=2,点击一次就在后面增加参数http://127.0.0.1/text/?page=2&page=2&page=6&page=7,但是页面仍然没变,还是原来的那几页,这个地方我判断是url写的有问题
麻烦大哥帮忙解决下,这个问题困扰我好几天了 展开
<?php
if(!function_exists(pageft)){
function pageft($totle,$displaypg=20,$url=''){
global $page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;
if(!$page) $page=1;
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
$parse_url=parse_url($url);
$url_query=$parse_url["query"];
if($url_query){
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
$url=str_replace($parse_url["query"],$url_query,$url);
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 条记录";
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg'>尾页</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
$result2=mysql_query("select count(*) as count1 from `artlist`");
$row=mysql_fetch_array($result2);
$total=$row['count1'];
pageft($total,2);
$sql="select * from artlist order by id desc limit $firstcount,$displaypg";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))
{
?>
这个部分是显示代码,这部分是正常的
<?php
}
?>
<div id="contpage"><?php echo $pagenav; ?></div>
问题是$firstcount传递不了值,点击后页的时候,还是现实一开始显示那几条信息,再点击的时候url就变了,成这样http://localhost/text/index.php?page=2&page=2,点击一次就在后面增加参数http://127.0.0.1/text/?page=2&page=2&page=6&page=7,但是页面仍然没变,还是原来的那几页,这个地方我判断是url写的有问题
麻烦大哥帮忙解决下,这个问题困扰我好几天了 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询