php树形结构分页,非递归法实现论坛树型结构及分页

题目:

内容:

//content.php end

//更新数据库

//post.php

//begin

$content=nl2br(htmlspecialchars($content));

$title=htmlspecialchars($title); //决不允许在标题上使用html

$date=date("y-m-d h:i:s");

$length=strlen($content);

if(isset($said)) //发表新帖子

{

$query="insert into over_post

values(null,'$title','$content',$user_id,'$date',0,$length,$img,'','','')";

$result=mysql_query($query) or die(mysql_error());

$r=mysql_query("select max(id) from over_post");

$rootid = mysql_result($r,0)+0;

mysql_query("update over_post set rootid=$rootid where id=$rootid")or die(mysql_error());

}

if(isset($reply)): //发表跟帖

mysql_query("update over_post set orders=orders+1 where rootid=$rootid and orders>$orders")or

die(mysql_error());

$layer=$layer+1;

$orders=$orders+1;

$query="insert into over_post

values(null,'$title','$content',$user_id,'$date',0,$length,$img,$rootid,$orders,$layer)";

$result=mysql_query($query) or die(mysql_error());

endif;

if($result) {

include"list.php";

}

?>

//post.php end

//重头戏,显示所有帖子,并实现分页

//list.php

//begin

//计算最小rootid:注意下面的desc,与limit结合,保证选取记录的范围.

//如果使用asc, 在mysql_result中检索第0个,将大大错误!

$itemsperpage=30;

$query="select distinct rootid from over_post where rootid<=$maxid1 order by rootid desc limit

$itemsperpage";

$r=mysql_query($query);

$n=mysql_num_rows($r);

if($n>0) {

$minid1=mysql_result($r,$n-1);

$query="select * from over_post where rootid<=$maxid1 and rootid>=$minid1 order by rootid

desc,orders";

$result=mysql_query($query);

$num=mysql_num_rows($result);

}

else {

$minid1=0;

$maxid1=0;

echo "

没有更多的发言内容";

}

$query="select distinct rootid from over_post where rootid>$maxid1 order by rootid limit

$itemsperpage";

$r=mysql_query($query);

$n=mysql_num_rows($r);

if($n>0) $up=mysql_result($r,$n-1);

else $up=$totalid1;

$query="select distinct rootid from over_post where rootid

$itemsperpage";

$r=mysql_query($query);

$n=mysql_num_rows($r);

if($n>0) $down=mysql_result($r,0);

else $down=$maxid1;

?>

";

while ($array=mysql_fetch_array($result)){

$id=$array["id"];

$title=$array["title"];

$content=$array["content"];

$postat=$array["postat"];

$readed=$array["readed"];

$size=$array["size"];

if($size==0) $size="无内容";

else $size.=" bytes";

$rootid=$array["rootid"];

$orders=$array["orders"];

$layer=$array["layer"];

$ul=""; //开始树型结构

$_ul="";

for($j=0;$j$ul=$ul."";

$_ul=$_ul."";

}

echo $ul."

"."$title($size) 【

".作者."】 $postat

".$_ul;

flush();

//树型结构结束

}

?>

//list.php end

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值