日期:2014-05-17  浏览次数:20805 次

有人考虑过百度贴吧楼中楼怎么实现的吗?

我知道肯定有一个帖子内容表,
然后有一个留言表。
留言表肯定存着 帖子ID 和楼层ID 吧
但是在点开帖子的时候是怎么加载留言数据的呢。
换句话说 点开贴子的时候 肯定不是到留言表里根据帖子ID 挨个楼层查吧。
如果那样的话效率太慢了
求思路!!求指点!!
百度 论坛

------解决方案--------------------

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

增加一个字段记录是回复那个帖子的不行吗?为空的话就是主帖。
看跟我4楼回复的是一个意思吗

如果不是怕单表数据太多的话,我感觉在一个表中就能实现了,多加一个字段记录的是这个表的主键(比如帖子ID)这样的话,在查询主提帖的时候,关联自身可以查出都有哪些一级回帖,然后再关联自身查出二级回帖。
ps.好像一些论坛都是将楼层静态化了。
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像 是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话 表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。

csdn明显不时真正意义上的楼中楼,而是通过在回复文本里加标签,在页面显示的时候用css什么的做成是楼中楼的形式。比如这个帖子
嗯你的意思我知道 每一层追加信息,我不明白的地方是头像是每次都去用户表里取吗?如果是的话那访问数据库量那可很多哦。不知道怎么实现的,没思路

如果是我做的话我会把头像哪些部分做成静态html,然后存放在特定规则的文件夹下,在页面加载的时候直接根据规则找那个网页就行了。而帖子列表中只存一个userid什么的就可以了吧。。。毕竟这一部的更改频率不是很大,鼠标指向时的弹出信息自然是异步加载,也不会对页面初始化造成压力。
您的意思是不是将用户在上传自己的头像的时候统一存到一个目录下,然后在加载帖子信息的时候根据回复表里ID,类似根据ID拼接出路径来就可以了是吗?

你可以看一下当前网页的源码,http://avatar.profile.csdn.net/B/A/D/1_etoak_james.jpg 这个是你的头像的链接,http://avatar.profile.csdn.net/A/1/9/1_bumpking.jpg这个是我的,可以看出来,CSDN应该是根据某些规则来存储头像的。事实上到底是怎么实现头像图片路径定义的我也不知道,但是根据CSDN对于个人信息修改的规则来推测,应该是将整个那一片区域存储成了静态网页。