精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● PHP>>功能代码>>论坛>>一个文本论坛的源码(五)

主题:一个文本论坛的源码(五)
发信人: 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]

[关闭][返回]