2010

Apr

24

评论嵌套原理 - 博客已支持评论嵌套
文章分类:开发相关

看到WordPress有评论嵌套功能,羡慕不已。为了更一步完善用户体验,终于完成了评论嵌套功能。该功能有何好处就不说了,相信大家都知道,下面来说说原理。

首先来看一个嵌套的原型:

第一张图是数据库的内容,第二张图是嵌套的页面显示效果,代码如下:

header("content-type:text/html; charset=utf-8");  
$connect = mysql_connect('localhost', 'root', '123456');  
mysql_select_db("wz");  
mysql_query("set names 'utf8'");  
$sql = "select * from tree";  
$result = mysql_query($sql);  
$arr = array();  
while($row = mysql_fetch_array($result)){  
    array_unshift($arr, $row);  
}  
  
function getChild($arr, $father, $floor){  
    $floor++;  
    foreach($arr as $row){  
        if($row["parent"] == $father){  
            echo "<div class='comment_".$floor."'>";  
            echo $row["name"];  
            getChild($arr, $row["id"], $floor);  
            echo "<br>";  
            echo "</div>";  
        }  
    }  
}  
  
foreach($arr as $row){  
    if($row["parent"] == ""){  
        echo "<div class='comment_0'>";  
        echo $row["name"];  
        echo "<br>";  
        getChild($arr, $row["id"], "1");  
        echo "</div>";  
    }  
}

样式这里就不说了,相信琢磨一下就知道了。

评论嵌套其实也不难,就是将一个树打印出来,主要用到递归思想。踏雪残情提到了分页可能有点难处理,说实话,那时候我还没考虑到分页,后来想了一会,可能会有点小麻烦。后来是这么处理的:分页查询的时候加了一个条件,分页查询的只是没有被回复的评论,同时还查询一次所有的评论,显示是结合这两个查询所得到的结果显示出来。

要做评论嵌套,必须满足一个条件:数据库中回复的那条评论要有被回复的那条记录的ID,否则无法嵌套。之前老九说看emlog能不能嵌套,看过emlog的数据库后,发现不能嵌套,没这个字段。

呵呵,完成了这个功能有点小高兴,自己测试了一会,没发现啥问题,如果大家有发现问题请留言^_^

本站原创,转载请标明:来自追梦博客(http://www.wuleilei.com/)

本文地址:http://www.wuleilei.com/Blog/240

相关文章

新版博客上线啦 (2011-03-07)

Gravatar头像原理 --- 博客已支持Gravatar头像 (2009-11-07)

又回到了原点 (2010-01-21)

继续博客点名活动 (2010-06-27)

PHP中的类 (2009-06-25)

博客新版程序上线了 (2009-08-21)

PHP获取当前url的函数 (2009-10-27)

PHP基础易混淆函数比较 (2010-10-25)

PHP二维数组按照一个字段排序 (2010-12-28)

PHP无刷新上传文件原理 (2010-12-10)

看看他们的脚印

闲言碎语

晚上和爸妈吃个饭。 (2月6日)

装修好累哟 (2月4日)

《斯巴达克斯:复仇》 (2月3日)

文章分类

最近文章

iOS开发之回调delegate的方法...

iOS开发之使用AES加密(兼容Obj...

事情好多哦

iOS开发之获取本机IP地址的方法

简单记录PC上安装苹果系统

最近评论

日志归档

友情链接

其它功能

随机标签