贴吧/盖楼的技术实现(PHP)

2015年3月5日 14:36:44

目标, 实现类似百度贴吧的基本功能

实现:

1. 存储, 将数据库(MYSQL)当作一个大的结构体数组, 每一条记录用作为一个结构体, 记录父帖信息, 子帖信息, 兄弟帖信息

2. 显示, 因为回复帖在浏览器中显示的时候也是独占一行, 只是比楼主的帖子多了些缩进而已, 因此我将所有的回帖(子回帖, 孙子回帖....脑补网易盖楼)都看做是有着不同缩进的普通帖子

3. 技术上, 将某一贴的所有回帖, 子回帖, 孙子回帖....一次性独到内存中(缺点,可用缓存解决), 用递归(多叉树遍历)的方法将帖子重新"排序"成一维数组, 然后顺序显示

4. "排序"的时候用到一个小技巧, 并不是用排序函数根据大小排序, 而是因为多叉树遍历的顺序就是最终显示的顺序, 所以遍历时, 将遍历的id一个一个的顺序保存下来到另一个数组,

而一次性读出的

显示的时候for循环这个id数组, 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。