论坛嵌套回复是怎么做的,表结构该如何建立啊?

时间:2022-09-08 11:50:14
我想问一下关于像新浪新闻的评论,那种嵌套引用是如何处理的,给一个设计思路即可,谢谢!

13 个解决方案

#1


引用楼主 java__net 的回复:
我想问一下关于像新浪新闻的评论,那种嵌套引用是如何处理的,给一个设计思路即可,谢谢!

你说的是这个意思吗?

#2


引用 1 楼 freesarge 的回复:
引用楼主 java__net 的回复:
我想问一下关于像新浪新闻的评论,那种嵌套引用是如何处理的,给一个设计思路即可,谢谢!

你说的是这个意思吗?


第二层

#3


在评论表里加个相关新闻ID,加个评论时间

显示的时候根据新闻ID找评论,按时间排序进就行,如果对评论加评论,评论表就再加个自联接字段

至于显示缩进,就不用我说了吧

新闻表
新闻ID

评论表
评论ID,新闻ID,评论时间。。。。[评论ID(如果需要对评论再评论,此处有用,论坛上有时是这样回复的)]

#4


自连接

#5


在存储中用循环吧.

读取  ID=7的 回复内容: "回复第7条" 以及此条记录回复的父ID: XID(假设)
declare @xid int
select ponse,@xid=xid from tb where id=@id
where @xid<>''
select ponse,@xid=xid from tb where id=@xid

或者在表中建一个字段,用于保存此条回复所包含的所有回复的id集合,如 3,15,22,35
select ponse from tb where id in(id集合)


#6


引用 4 楼 amandag 的回复:
自连接

这样:
|-----引用3楼回复:--------------------------------|
||----引用2楼回复:-------------------------------||
|||---引用1楼回复:------------------------------|||
|||  1 楼回复内容                                    |||
|||____________________________________________|||
||                                              ||
||    2 楼回复内容                               ||
||______________________________________________||
|                                                |
|     3 楼回复内容                                |
|________________________________________________|

如果这样的嵌套有50层或者更多。

怎么做才最合理?而且页面的显示要求效率

#7


我不认为引用是利用表结构来解决

我倒是认为可以在前台使用正则匹配 回复内容 
如果有引用 
则给匹配的内容添加样式。

#8


引用 7 楼 vip__888 的回复:
我不认为引用是利用表结构来解决

我倒是认为可以在前台使用正则匹配 回复内容 
如果有引用 
则给匹配的内容添加样式。
【/Quote】
CSDN估计也是用这种方法 匹配[Quote=哥在引用回复]。。。

#9


studying.....

#10


ding , 大家多发言啊

#11


学习学习………………

#13


http://www.dr.sh.cn/gs/consultlist.aspx这是我做的,可以无限嵌套,要的话跟我联系

#1


引用楼主 java__net 的回复:
我想问一下关于像新浪新闻的评论,那种嵌套引用是如何处理的,给一个设计思路即可,谢谢!

你说的是这个意思吗?

#2


引用 1 楼 freesarge 的回复:
引用楼主 java__net 的回复:
我想问一下关于像新浪新闻的评论,那种嵌套引用是如何处理的,给一个设计思路即可,谢谢!

你说的是这个意思吗?


第二层

#3


在评论表里加个相关新闻ID,加个评论时间

显示的时候根据新闻ID找评论,按时间排序进就行,如果对评论加评论,评论表就再加个自联接字段

至于显示缩进,就不用我说了吧

新闻表
新闻ID

评论表
评论ID,新闻ID,评论时间。。。。[评论ID(如果需要对评论再评论,此处有用,论坛上有时是这样回复的)]

#4


自连接

#5


在存储中用循环吧.

读取  ID=7的 回复内容: "回复第7条" 以及此条记录回复的父ID: XID(假设)
declare @xid int
select ponse,@xid=xid from tb where id=@id
where @xid<>''
select ponse,@xid=xid from tb where id=@xid

或者在表中建一个字段,用于保存此条回复所包含的所有回复的id集合,如 3,15,22,35
select ponse from tb where id in(id集合)


#6


引用 4 楼 amandag 的回复:
自连接

这样:
|-----引用3楼回复:--------------------------------|
||----引用2楼回复:-------------------------------||
|||---引用1楼回复:------------------------------|||
|||  1 楼回复内容                                    |||
|||____________________________________________|||
||                                              ||
||    2 楼回复内容                               ||
||______________________________________________||
|                                                |
|     3 楼回复内容                                |
|________________________________________________|

如果这样的嵌套有50层或者更多。

怎么做才最合理?而且页面的显示要求效率

#7


我不认为引用是利用表结构来解决

我倒是认为可以在前台使用正则匹配 回复内容 
如果有引用 
则给匹配的内容添加样式。

#8


引用 7 楼 vip__888 的回复:
我不认为引用是利用表结构来解决

我倒是认为可以在前台使用正则匹配 回复内容 
如果有引用 
则给匹配的内容添加样式。
【/Quote】
CSDN估计也是用这种方法 匹配[Quote=哥在引用回复]。。。

#9


studying.....

#10


ding , 大家多发言啊

#11


学习学习………………

#12


#13


http://www.dr.sh.cn/gs/consultlist.aspx这是我做的,可以无限嵌套,要的话跟我联系