求一个PHP分页代码 看这个,你改改就可以了http://blog.xinyuee.com/u/1/s/4/a/114.aspx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 分页没有什么难的,主是要你记着参数的传递,不要在分页的时候把参数传没了,分页就不会错,楼主说的不过是一个循环的问题$page=$_GET["page"];//判断一下$page是否为数字,不是数字将它设置为1,这里我就不做这此内容了$psize=10;//设置页面大小$trecord=120;$tpage=Ceil($trecord/$psize);for($i=1;$i<=$tpage;$i++){ if($i==$page){ echo "$i "; }else{ echo "<a href=\"网址?page=$i&其它参数\">$i</a> "; }}echo "<a href=\"网址?page=".($page+1)."&其它参数\">Next</a> ";echo "- Pages: $page/$tpage Records: ".$page*$psize."/$trecord"; $trecord=120;这里是记录总数 page.inc.php代码如下:<?php //分页显示 function pageft($totle,$displaypg,$url=''){ //定义几个全局变量: //$page:当前页码; //$firstcount:(数据库)查询的起始项; //$pagenav:页面导航条代码,函数内部并没有将它输出; //$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。 global $page,$firstcount,$pagenav,$_SERVER; //为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。 $GLOBALS["displaypg"]=$displaypg; 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/pcedu/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 条记录 "; //如果只有一页则跳出函数: 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 页"; }?>file_list.php代码如下:<?php @session_start(); if($_SESSION['admin_name']=="") { echo "<script>location.href='login.php';</script>"; } include_once("../class/trimdata.php"); include_once("./header.php"); include_once("../class/page.inc.php"); $listflag=true; $trimdata = new trimdata(); $displaypage="file_list.htm"; $page = $_GET['page']; !isset($page)?$page=1:$page=$page; $smarty->assign("page", $page); $sql = "SELECT f_id FROM `".$dbhead."file`"; //$orderby ="n_date"; $sql_select=$db->sql_query($sql); $countRow =$db->sql_numrows($num); $countRow>0?pageft($countRow,15):pageft($countRow,0); //$sql2 = "SELECT * FROM `".$dbhead."file` order by f_id desc limit ".$firstcount.",".$displaypg; $sql2 = "SELECT f.*,c.name as type FROM `".$dbhead."file` as f left join `".$dbhead."channel` as c on f.fc_id=c.c_id order by f.f_id desc limit ".$firstcount.",".$displaypg; $result2 = $db -> sql_query($sql2); while($arr = $db -> sql_fetchrow($result2)) { $arr['place'] = getSuffix($arr['f_place']); $arrRow[] = $arr; } $datas=$trimdata->arraysdeals($arrRow); $smarty->assign("file", $arrRow); $smarty->assign("showpages", $pagenav); function getSuffix($file) { $arr=explode(".",$file); return $arr[count($arr)-1]; } include_once("./display.php");?> 我自己写的,你参照一下,应该很好用的.分页效果查看:http://zhutan88.com/sort_news.php?type=trends 网上这样的代码太多了.baidu一下吧. PHP几个语法符号的问题 求助 这个是什么错误? 用OPENOFFICE转换文件格式的问题 求助:需求分析报告的写法? 怎么用LoadRunner8.1来测试php服务器 php开发普遍用什么开发工具! 求把下面一段PHP代码翻译成ASP的[在线等待,立即结帖] linux/php下支持处理ActiveX吗 高分求php中对表的锁定的函数,能解决的再加300 php里怎么做datetime类型变量的减法? 关于网站开发的PHP框架问题 这两个sql查询语句,哪个是最优化的?
主是要你记着参数的传递,
不要在分页的时候把参数传没了,分页就不会错,
楼主说的不过是一个循环的问题
$page=$_GET["page"];//判断一下$page是否为数字,不是数字将它设置为1,这里我就不做这此内容了
$psize=10;//设置页面大小
$trecord=120;
$tpage=Ceil($trecord/$psize);
for($i=1;$i<=$tpage;$i++){
if($i==$page){
echo "$i ";
}else{
echo "<a href=\"网址?page=$i&其它参数\">$i</a> ";
}
}
echo "<a href=\"网址?page=".($page+1)."&其它参数\">Next</a> ";
echo "- Pages: $page/$tpage Records: ".$page*$psize."/$trecord";
这里是记录总数
<?php
//分页显示
function pageft($totle,$displaypg,$url=''){
//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。
global $page,$firstcount,$pagenav,$_SERVER;
//为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。
$GLOBALS["displaypg"]=$displaypg;
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/pcedu/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 条记录 ";
//如果只有一页则跳出函数:
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 页";
}
?>
file_list.php代码如下:
<?php
@session_start();
if($_SESSION['admin_name']=="")
{
echo "<script>location.href='login.php';</script>";
}
include_once("../class/trimdata.php");
include_once("./header.php");
include_once("../class/page.inc.php");
$listflag=true;
$trimdata = new trimdata();
$displaypage="file_list.htm";
$page = $_GET['page'];
!isset($page)?$page=1:$page=$page;
$smarty->assign("page", $page);
$sql = "SELECT f_id FROM `".$dbhead."file`";
//$orderby ="n_date";
$sql_select=$db->sql_query($sql);
$countRow =$db->sql_numrows($num);
$countRow>0?pageft($countRow,15):pageft($countRow,0);
//$sql2 = "SELECT * FROM `".$dbhead."file` order by f_id desc limit ".$firstcount.",".$displaypg;
$sql2 = "SELECT f.*,c.name as type FROM `".$dbhead."file` as f left join `".$dbhead."channel` as c on f.fc_id=c.c_id order by f.f_id desc limit ".$firstcount.",".$displaypg;
$result2 = $db -> sql_query($sql2);
while($arr = $db -> sql_fetchrow($result2))
{
$arr['place'] = getSuffix($arr['f_place']);
$arrRow[] = $arr;
}
$datas=$trimdata->arraysdeals($arrRow);
$smarty->assign("file", $arrRow);
$smarty->assign("showpages", $pagenav);
function getSuffix($file)
{
$arr=explode(".",$file);
return $arr[count($arr)-1];
}
include_once("./display.php");
?>
分页效果查看:http://zhutan88.com/sort_news.php?type=trends