发信人: showtop()
整理人: jackyz(2000-08-10 10:54:21), 站内信件
|
本节开始要讨论的是这个论坛的关键了,就是如何分页显示记录。
如果是数据库,又是怎样做分页显示的,不知大家对此有没有经验。这方面的文 章还是比较多的,你完全可以找一个来参考一下。
我在这里所采用的方式,与用数据库的方法其实是大同小异而已。
1、两个函数
<?php
// 分页显示记录
// $item 栏目
// $offset 从哪个记录开始显示
// $number 要显示的记录个数
function view_page($item,$offset,$number){
$dire="page/";
$hd=opendir($dire);
while($fl=readdir($hd)) {
if($fl=="." or $fl=="..") continue;
if(strpos($fl,".info")){ //只找info文件
$fc=file($dire.$fl);
if(chop($fc[3])==$item){ //是不是所要的那个专栏的文章
$tmp=explode(".",$fl);
$ft=$tmp[0];
$list[$ft]=filemtime($dire.$fl); //按时间来排序
}
}
}
if(count($list)==0) return $list;
arsort($list);
for($i=0;$i<$offset;$i++) { //移指针到要显示的第一个记录上!!!
next($list);
}
for($i=0;$i<$number;$i++){ //开始读number个记录到数组中
$k=key($list);
if($k=="")break;
$v=file($dire.$k.".info");
$re_var[$k]=$v;
next($list);
}
return $re_var;
}
//计算某个栏目所发表文章篇数
//这比上一个函数简单多了,只是做个统计罢了
function count_page($item){
$dire="page/";
$hd=opendir($dire);
$re_var=0;
while($fl=readdir($hd)) {
if($fl=="." or $fl=="..") continue;
if(strpos($fl,".info")){
$fc=file($dire.$fl);
if($fc[3]!=$item)continue;
else $re_var++;
}
}
return $re_var;
}
?>
好了,这两个函数介绍完了,如何用呢?下回分解吧。
<未完待续>
-- 让我的所欲渐化虚无
让我的付出渐近无倦
E-mail : [email protected]
url : http://sbiotech.onchina.net《生物技术快报》
http://www.sharetop.onchina.net 《自由岛论坛》
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.75.57.220]
|
|