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

2015年3月5日 14:36:44

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

实现:

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

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

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

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

而一次性读出的

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

时间: 2024-07-31 23:33:21

贴吧/盖楼的技术实现(PHP)的相关文章

仿腾讯盖楼爬墙新闻评论的CSS实现

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>仿腾讯爬墙式新闻评论的CSS实现</t

CSS如何实现网易的盖楼效果

CSS如何实现网易的盖楼效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在很多论坛性质或者回复功能的网站都有盖楼效果,就是回复与回复之间能够叠加,这个感觉比较人性化,没有体验过这样的效果的朋友可以去网易找一个比较火热的帖子看一下它的回复就明白了.下面就介绍一下如何实现此种功能,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name=&

&#128146; es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你做游戏(一)

盖楼游戏 一个基于 Canvas 的盖楼游戏 Demo 预览 在线预览地址 (Demo Link) 手机设备可以扫描下方二维码 github https://github.com/bmqb/tower_game 喜欢的朋友 给个star 支持一下哦 Game Rule 游戏规则 以下为默认游戏规则,也可参照下节自定义游戏参数 每局游戏生命值为3,掉落一块楼层生命值减1,掉落3块后游戏结束,单局游戏无时间限制 成功盖楼加25分,完美盖楼加50分,连续完美盖楼额外加25分,楼层掉落扣除生命值1,单局

别再让我帮你盖楼了行不?给个脚本自动盖楼领喵币

这几天,双十一的活动有没有把你折腾的不轻呢?如果没有,只有两种可能:一,你没女朋友:二,你没有女性朋友,不然你一定会收到如下消息 要知道阿里每年都会发放大量红包.各种优惠券和各种互助游戏......而这两天,马爸爸的“ATM”们可都沉迷于这些个互助游戏里不可自拔,吾日三省吾身:签到了?做任务了么?升级了么?: 一般我们程序员对这种游戏都是没什么太大兴趣,毕竟每天都有找不完的Bug,加不完的班,但是假如在这时候你的女神向你求帮助的时候,就你那个等级你拿的出手么? 所以,程序员怎么能错过这么一个在女

使用fiddler盖楼评论

使用fiddler盖楼评论:使用replay重复请求某接口 原文地址:https://www.cnblogs.com/come202011/p/12262441.html

“评论盖楼”的设计思路

这样的需求其实挺特殊,每个“楼”都是一个独立的“树”,每个“楼”都“几乎”不用依赖其他的“楼”. 最简单.最高效的方式是用文件来存 储每一个楼,每个新闻一个楼,使用xml.json等树形结构的文件格式来规范评论和新闻内容.这样每进一个楼只需要访问一个文件,发评论只是创建一个文 件,把楼盖高,只是给增加新内容.而新闻列表可以存储在数据库中,也可以用lucene做索引. 如果一定要用数据库实现,那么新闻(主贴)做一张表,评论(回贴)做一张表,评论表中添加新闻id字段作为与新闻表的外键关联即可.如果要

面向对象技术概论

面向对象理论很早就被提出了,但它真正地渗透到软件开发的各个领域,并且在软件开发实践中大规模应用,却要等到上世纪九十年代.到目前为止,面向对象技术已是软件开发的主流,全面取代了结构化编程技术曾经具有的地位. 面向对象技术与结构化编程技术有着不同的风格,但同时也有着密切的联系.从具体编程角度来看,面向对象技术与结构化编程技术很难截然分开,两者的根本差别在于思维 方式. 要了解面向对象技术,得从结构化编程技术入手. 1.1结构化编程引例 结构化编程在上世纪七十年代兴起,由于它具有很多的优点,出现之后没

一、面向对象技术概论(上)

面向对象理论很早就被提出了,但它真正地渗透到软件开发的各个领域,并且在软件开发实践中大规模应用,却要等到上世纪九十年代.到目前为止,面向对象技术已是软件开发的主流,全面取代了结构化编程技术曾经具有的地位. 面向对象技术与结构化编程技术有着不同的风格,但同时也有着密切的联系.从具体编程角度来看,面向对象技术与结构化编程技术很难截然分开,两者的根本差别在于思维方式. 要了解面向对象技术,得从结构化编程技术入手. 1.1.结构化编程引例  结构化编程在上世纪七十年代兴起,由于它具有很多的优点,出现之后

程序猿生存定律--管理向左,技术向右

一个程序猿在考虑增值时无法回避的一个根本问题是究竟是做技术还是做管理.当然也有些职位会介于两者之间比方架构师.但我们临时不去做细分.而是用简单的二分法. 这样的基本方向上的选择对兴许非常多细节上的取舍有关键影响.所以在考虑其它之前.最好先回答一下这个问题.这就和修炼时要选择少林.武当.华山还是魔教一样,一旦选择,基本上是回不了头. 当然选择管理不意味着不须要掌握编程技能.毕竟当下大多公司还是信奉"宰相拔于州郡.将军起于行伍"的.但当技术达到一定水平后,管理还是技术这样的方向性的选择将对