VimIy微民网,让世界倾听微民的声音! 设为首页 | 加入收藏 | 网站地图
当前位置:主页 > 大杂烩 >

【微民网里高手多】 请问大神们,论坛的那种反复引用是用什么数据结构实现的?

整理时间:2013-05-23 15:08 来源:www.vimiy.com 作者:编辑 点击:

【楼主】2013-05-29 14:41

» 请问大神们,论坛的那种反复引用是用什么数据结构实现的?
    另外就是比如其中某条引用的违反了相关规则,那么其下相关的引用都要屏蔽是咋实现的?
    
    小弟刚毕业不久,特来大马桶求助~~~~~~~~~~~~~~~~
    
网友评论2013-05-29 14:53


    没看懂你说的情况啊......
    
网友评论2013-05-29 14:54


    网易评论那种结构的?
    
网友评论2013-05-29 14:55


    
    
    非码农人士觉得 这跟数据结构没关系吧
    跟数据库的设计有关系吧
    
网友评论2013-05-29 14:57


    id pid呗
    
网友评论2013-05-29 14:57


    Reply to Reply Post by 清越流苏 (2013-05-29 14:54)
    
    对的,这种事怎么弄的?请问~~~~
    
网友评论2013-05-29 14:59


    Reply to Reply Post by 无形zod (2013-05-29 14:57)
    
    听起来比较抽象,假如回复有几十条,然后第二条屏蔽了,那要把引用或者回复第二条的也都屏蔽掉是怎么实现?
    
网友评论2013-05-29 15:05


    nga具体怎么实现的不知道,不过如果回复对象是单一的话应该能获得所有引用了某贴的帖子,或者简单的检查引用的帖子是不是已经被屏蔽了
    
网友评论2013-05-29 15:05


    Reply Post by 最初的流星 (2013-05-29 14:55):
    
    
    
    非码农人士觉得 这跟数据结构没关系吧
    跟数据库的设计有关系吧
    
    秒沉的节奏,求友情挽尊,数据库设计的话只设置外键就够了吗?
    
网友评论2013-05-29 15:08


    Reply to Reply Post by 泰坦 (2013-05-29 15:05)
    
    嗯,目前想到可能用递归会好一点,因为第二条评论被第三条引用,第三条被第四条回复这样子,递归的感觉,不知是不是这样理解会好一点
    
网友评论2013-05-29 15:10


    难道不是传过来的时候就有的么
    
    ----发送自我的 SHARP SH-12C,Android 2.3.3,我为片总生儿子么么哒----]
    
网友评论2013-05-29 15:15


    咦,微民网有反复引用?没见过啊……
    
网友评论2013-05-29 15:15


    Reply to Reply Post by くろゆきひめ (2013-05-29 15:10)
    
    关键是要实现——假如其中某条被屏蔽了,那么下面相关引用或者回复这条信息的评论也要屏蔽
    
网友评论2013-05-29 15:16


    Reply to Reply Post by awakn123 (2013-05-29 15:15)
    
    大马桶木有=- =。。。领导让设计下,速度要快,形式简单
    
网友评论2013-05-29 15:17


    Reply Post by 我的名字一共有十个字 (2013-05-29 14:59):
    
    听起来比较抽象,假如回复有几十条,然后第二条屏蔽了,那要把引用或者回复第二条的也都屏蔽掉是怎么实现?
    
    胡乱猜的啊 ,是我的话
    id content pid state
    1 一楼是猪 有效
    2 二楼烧饼 1 有效
    3 三楼真帅 2 有效
    
    如果屏蔽了id=1的那条,就顺带把整棵树下面的所有节点都屏蔽了。。比如这样
    with x as( select id from t start with id =1 connect by prior id=pid )
    update t set state=屏蔽 where id in (select id from x)
    
网友评论2013-05-29 15:21


    我倒是觉得在数据库结构里面增加标记字段来实现。比如我引用了1楼,这时我提交的信息数据库里标记了引用1楼的文字。然后1楼被屏蔽了,系统在生成页面的时候检测到我的楼层的引用字段指向被屏蔽的信息,因此将我的信息也设置为屏蔽而无法显示。
    至于多层引用的问题也好解决啊,把楼上引用的文字也设置到屏蔽列表里,这样楼下引用的就可以延续上述规则而被屏蔽。毕竟引用这个东西是线性的,你不可能引用一个别人还没有发表过的言论(伪造的除外)。
    


网友评论2013-05-29 15:23


    Reply to Reply Post by 无形zod (2013-05-29 15:17)
    
    看不大懂下面的sql?是sql吧,我马上google下,然后请问你提到是用树的结构然后屏蔽子节点这样的思路吗?
    
网友评论2013-05-29 15:24


    这种东西和数据结构有啥关系。。。
    
网友评论2013-05-29 15:24


    评论的数据表中加个字段,比如a,存储所引用评论的ID,用json或者12|13|14|15。。。这样的字符串表示多层引用
    
    显示的时候把字符串转化成数组,按顺序获取评论并嵌套显示,每次获取判断是否屏蔽
    
    存储评论的时候获取被引用评论的a字段,加上被引用评论的ID,存储为本条评论的a字段
    
网友评论2013-05-29 15:25


    各种主键和外键么,另外如果原帖删除引用还在就是quote的前台而已
    发表回复下一页(2)

    
    
    

关于网站 | 网站声明 | 用户反馈 | 合作伙伴 | 联系我们
Copyright © 2012年2月8日