手机版

php实现网站留言板功能

时间:2021-09-27 来源:互联网 编辑:宝哥软件园 浏览:

我想达到的是下图所示的风格。请参考下面两个网站的留言板。它们的实现原理是一样的。

谈论留言板风格:

网易发帖风格:

原理:评论表需要增加id和pid两个主要字段,其他字段可以随意增加,如文章id、回复时间、回复内容、回复人等。其中pid是目前已经回复的评论的id。从上图可以看出,里面每一层的pid都是他之前评论的id。仔细看上面的布局。很像PHP中的多维数组吗?如果你能想起来,那就简单了。实施方法1。前台:这个比较简单,就是div嵌入div。然后设置div的边框和边距。

div=' comment ' div class=' comment ' div class=' comment '/div/div/div class=' comment '/div 2。背景:使用了两个递归。首先,通过递归重组数据库中的结果。重组后,通过递归可以得到注释表的结构和内容。

然后直接阅读本表中的所有注释。您可以获得以下数组。

数组([0]=数组([id]=1[PID]=[内容]=注释1][1]=数组([id]=2[PID]=[内容]=注释2][2]=数组([id]=3[PID]=[内容])。=comment 3)[3]=array([id]=4[PID]=1[content]=comment 4对comment 1的回复[4]=array([id]=5[PID]=1[content]=comment 5对comment 1的回复[5]=array ([id]=6 [。=2[内容]=评论6回复评论2) [6]=数组([id]=7[PID]=4[内容]=评论7回复评论4][7]=数组([id]=8[PID]=7[内容]=评论8回复评论7][8]。=Array([id]=9[PID]=8[content]=comment 9 reply comment 8)[9]=Array([id]=10[PID]=8[content]=comment 10 reply comment 8))然后我们需要将这个数组重新组织成上面的留言板形式,其中$array就是上面读取的数组。首先,

公共静态功能树($array,$child='child ',$ PID=null){ $ temp=[];foreach($ array as $ v){ if($ v[' PID ']==$ PID){ $ v[$child]=self : tree($ array,$ child,$ v[' id ']);$ temp[]=$ v;} }返回$ temp}重组后,可以得到如下数组。如您所见,这个数组的样式与前景注释的样式非常相似。

数组([0]=数组([id]=1[PID]=[内容]=评论1[子级]=数组([0]=数组([id]=4[PID]=1[内容]=评论四回复评论1[子级]=数组([0]=数组([id]=7[PID]=4[内容]=评论七回复评论4[子]=数组([0]=数组([id]=8[PID]=7[内容]=评论8回复评论7[子]=数组([0]=数组([id]=9[PID]=8[内容]=评论9回复评论8[子]=Array())[1]=Array([id]=10[PID]=8[内容]=评论10回复评论8[子]=Array())))))))[1]=Array([id]=5[PID]=1[内容]=评论5回复评论1[子]=Array())))))[1]=Array([id]=2[PID]=[内容]=评论2[子级]=数组([0]=数组([id]=6[PID]=2[内容]=评论6回复评论2[子]=Array())))))[2]=Array([id]=3[PID]=[内容]=评论3[子]=Array()))得到上面的数组后,再用递归输出即可

公共静态函数traversarray($ array){ foreach($ array as $ v){ echo ' div class=' comment ' style=' width : 100%;余量: 10px背景# edeff 0 padd : 20px 10pxborder : 1px固体# 777;'';echo $ v[' content '];if($ v[' child ']){ self : travers array($ v[' child ']);} echo '/div ';} } 然后即可看到

原理就是这样,就是重组下数组,然后遍历输出就行了。

以上就是服务器端编程语言(专业超文本预处理器的缩写)实现畅言留言板和网易跟帖样式的全部过程,大家也可以尝试进行创新,希望这篇文章对大家的学习有所帮助。

版权声明:php实现网站留言板功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。