问题1
回答1
回答1.1
回答1.2
回答2
回答2.1
回答2.2
......
记录形式是
问题 回答(其他字段略)
<?php
function search($id){
$sql = "select parent_id from table where id='$id'";
$quy = mysql_query($sql);
while($value = mysql_fetch_array($quy) ){
$space. = " ";
echo "<tr><td>".$space.$id."内容为".$value[parent_id]."</td></tr>";
search($value[parent_id]);
}
}
?>
字段的运用可能跟你说的不大一样,但大概就是parent_id就是回复,id就是被回复的那个。
$space的作用是起到有内缩的效果。
初略写了一下,你再自己调试一下。
回答1
回答1.1
回答1.2
回答2
回答2.1
回答2.2
......
记录形式是
问题 回答(其他字段略)
<?php
function search($id){
$sql = "select parent_id from table where id='$id'";
$quy = mysql_query($sql);
while($value = mysql_fetch_array($quy) ){
$space. = " ";
echo "<tr><td>".$space.$id."内容为".$value[parent_id]."</td></tr>";
search($value[parent_id]);
}
}
?>
字段的运用可能跟你说的不大一样,但大概就是parent_id就是回复,id就是被回复的那个。
$space的作用是起到有内缩的效果。
初略写了一下,你再自己调试一下。
是呀。一般要用递归。听说安然论坛是这样还做得不错。可以看看。
对于留言,论坛等,一般用户的使用情况基本上是 查看,列表最多。添加一般, 修改,删除最少。那么问题就主要出在优化查看帖子,搜索,分类列表上。我们可以平衡各个业务的资源消耗量,
比如增加一些标记位的冗余,便于查看,搜索,列表等。至于楼主所说类似无限分类这样的问题,在解决上可以在数据表中增加类似于
深度,索引 等字段
比如
深度 为3 时 父id = 10, 祖父id=1可以如下记录
id 100
父id 10
深度 3
索引 1,10
再来看看大多数论坛使用时的情况,
一般上限是帖子数量为10W级,记录总数为100W级。
并且对于用户操作不存在批量删除,移动等操作,因此对于增加的冗余字段不会经常的被改变,也就不会有太多的消耗。先到这里,走也。
如
id = 1 ,path = 1,
|
|-- id= 2 ,path = 1,2,
| |
| |-- id = 4 path = 1,2,4,
|
|---id= 6 ,path = 1,6,