发表一个 可以移植的PHP分页函数
分页函数中的$URL参数 使用了 JoinChar 函数 ->作用 在URL后面加?或&
function ShowPages($totle,$displaypg=20,$url=''){
global $page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;
if(!$page) $page=1;
if(!$url){
$url=JoinChar($_SERVER["REQUEST_URI"]);
}else{
$url=JoinChar($url);
}
$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}page=1\">首页</a> ";
if($prepg) $pagenav.=" <a href=\"{$url}page=$prepg\">前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href=\"{$url}page=$nextpg\">后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href=\"{$url}page=$lastpg\">尾页</a> ";
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"{$url}page=\"+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 页";
}
function JoinChar($strUrl){
if (is_null($strUrl)){
$JoinChar="";
exit;
}
if(strcspn($strUrl,"?") < strlen($strUrl)){
if (strcspn($strUrl,"&") < strlen($strUrl)){
$JoinChar=$strUrl."&";
}else{
$JoinChar=$strUrl;
}
}else if(strcspn($strUrl,"?") == strlen($strUrl)){
$JoinChar=$strUrl."?";
}else{
$JoinChar=$strUrl;
}
return $JoinChar;
}
下面举例说明它的用法:
//(前面程序略)
include("pageft.php"); //包含“pageft.php”文件
//取得总信息数
$result=mysql_query("select * from mytable");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
pageft($total,10);
//现在产生的全局变量就派上用场了:
$result=mysql_query("select * from mytable limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){
//(列表内容略)
}
//输出分页导航条代码:
echo $pagenav;
//(后面程序略)
下图即为导航条格式显示的效果:
G.Y.Studio
贪酒如命;嫉恶如仇;爱友如己;挥金如土;出刀如飞;视死如归
可以移植的PHP分页函数
Submitted by on 2006, August 7, 10:03 PM. 技术
附件: fenye.bmp (20.38 K, 下载次数:324)
只显示10条记录相关文章
php header 跳转 (浏览: 451, 评论: 0)
PHP5_OOP面向对象---教程下载 (浏览: 2299, 评论: 0)
在DISDUZ!5.5中添加代码高亮插件成功 (浏览: 3123, 评论: 1)
xajax+php的一个DEMO--Blackjack(21点) (浏览: 3503, 评论: 3)
关于使用PHP6的感受 (浏览: 2735, 评论: 0)
[PHP AJAX] 简单比较 xajax、AJASON、flxAJAX、Aja... (浏览: 2711, 评论: 0)
一个适用于验证码的小函数 (浏览: 19844, 评论: 0)
PHP本地执行放在远程服务器上的脚本 (浏览: 19832, 评论: 0)
用PHP动态创建Flash动画 (浏览: 19222, 评论: 0)
php与XML、XSLT、Mysql的结合运用,代码篇 (浏览: 19843, 评论: 0)
PHP5_OOP面向对象---教程下载 (浏览: 2299, 评论: 0)
在DISDUZ!5.5中添加代码高亮插件成功 (浏览: 3123, 评论: 1)
xajax+php的一个DEMO--Blackjack(21点) (浏览: 3503, 评论: 3)
关于使用PHP6的感受 (浏览: 2735, 评论: 0)
[PHP AJAX] 简单比较 xajax、AJASON、flxAJAX、Aja... (浏览: 2711, 评论: 0)
一个适用于验证码的小函数 (浏览: 19844, 评论: 0)
PHP本地执行放在远程服务器上的脚本 (浏览: 19832, 评论: 0)
用PHP动态创建Flash动画 (浏览: 19222, 评论: 0)
php与XML、XSLT、Mysql的结合运用,代码篇 (浏览: 19843, 评论: 0)
发表评论