300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 仿网易评论盖楼PHP+Mysql实现

仿网易评论盖楼PHP+Mysql实现

时间:2024-06-23 12:37:17

相关推荐

仿网易评论盖楼PHP+Mysql实现

后端开发|php教程

PHP+Mysql,php,实现

后端开发-php教程

这篇文章主要介绍了关于仿网易评论盖楼PHP+Mysql实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

仿淘宝商城源码单用户,vscode些什么语言,ubuntu移除指令,调整tomcat编码,sqlite排序后获取行号,消杀下水道小爬虫,多用户 php源码,谷歌seo外贸快车,黑客查看网站php源码,wordpress 安装 此网页包含重定向循环,游戏后台模板lzw

大家可能都看过网易评论的那种盖楼式的引用,这边文章就用php和mysql来实现这种效果。

免费活动的网站源码,vscode tab空格数,ubuntu++163,tomcat的端口解释,单片机数据库sqlite,百度谷歌的爬虫是什么语言编写的,国外php cms,seo推广服务外推,视频网站后台管理系统,erp软件维护模板lzw

先设计数据表来存放评论数据:

android html5 源码,vscode php调试,ubuntu 聊天,tomcat禁用8080,sqlite对高德,收款网插件,wen常用前端框架及其作用,后羿爬虫原理图片,php 数组 键值排序,疫情期间善用seo,软件学校网站模板下载,动态网页设计模板化妆品,微信公众号模板下载lzw

DROP TABLE IF EXISTS `comment`;CREATE TABLE `comment` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL, `site` varchar(128) DEFAULT NULL, `content` varchar(1000) NOT NULL, `time` datetime NOT NULL, `pid` int(10) NOT NULL, `articleid` int(10) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

其中的关键字段就是pid,保存的是引用评论的id,如果没有引用那么设为0即可。

具体的实现主要是通过递归算法来找出所有引用的评论(和无限分类菜单类似),代码如下:

get_replace_db_sql("comment",$comment); //echo $sql_str; $sqlHelper->insert_db($sql_str); }?>文章评论的无限引用实现*{margin:0;padding:0;} body{margin:10px;font-size:14px;font-family:宋体} h1{font-size:26px;margin:10px 0 15px;} #commentHolder{width:540px;border-bottom:1px solid #aaa;} .comment{padding:5px 8px;background:#f8fcff;border:1px solid #aaa;font-size:14px;border-bottom:none;} .comment p{padding:5px 0;} .comment p.title{color:#1f3a87;font-size:12px;} .comment p span{float:right;color:#666} .comment p{background:#ffe;padding:3px;border:1px solid #aaa;line-height:140%;margin-bottom:5px;} .comment p span{color:#1f3a87;font-size:12px;}<?php functionp($str){ echo"

"; if(is_array($str)) print_r($str); else echo$str; echo"

";

}

/*

获取文章id对应的所有评论,以数组的形式返回结果

*/

functiongetCommentByArticleId($articleid=1){

$result= array();

if(empty($articleid)

|| !is_numeric($articleid)){

return$result;

}

$sql= select * from comment where articleid = . $articleid;

global$sqlHelper;

$result= $sqlHelper->get_all($sql);

//p($result);

return$result;

}

/*

把评论数组数据转换为html格式

*/

functioncommentArr2Html($comment_arr) {

$str= \;

if(is_array($comment_arr)

&& !empty($comment_arr)){

$str.=

;

foreach($comment_arr as $key => $value) {

$str.=

;

$str.=

.$value[username] .\;

$str.= \ . $value[ ime] . 发表;

$str.=

;

global$temp_arr;

$temp_arr= array();

//这里去查找当前评论下的所有引用的评论,并格式化为html字符串

$tmpStr= \;

addCommentNode($comment_arr,$value);

krsort($temp_arr);//根据key倒叙排序数组

$tmpStr= getChildComment($temp_arr);//添加所有的引用评论

$str.= $tmpStr;

$str.= "

" . $value[content] ."

";

$str.=

;

}

$str.=

;

}

return$str;

}

/*

把temp_arr数组中保存的引用评论信息转换为html形式

*/

functiongetChildComment($temp_arr){

$htmlStr= \;

if(!is_array($temp_arr)

|| empty($temp_arr)){

return\;

}

foreach($temp_arras $value){

$tmp=

;

$tmp.= $htmlStr;

$tmp.= \ . $value[username] . 原贴:

. $value[content];

$tmp.=

;

$htmlStr= $tmp;

}

return$htmlStr;

}

/*

list代表某一文章下的全部评论列表

cmt代表当前要显示的评论

*/

functionaddCommentNode($list,$cmt){

if(isset($cmt[pid])

&& $cmt[pid] !=){

$find= findParentCmt($list,$cmt[pid]);//找寻id等于当前评论的pid的评论,返回数组。

// 递归调用,只要pid不为零,就加入到引用评论列表

addCommentNode($list,$find);

}else{

return;

}

}

/**

* 查找list中找寻id等于pid的数组项,并返回

* @param [type] $list [description]

* @param [type] $cmtpid [description]

* @return [type] [description]

*/

functionfindParentCmt($list,$cmtpid){

foreach($list as $key => $value) {

if($value[id]

== $cmtpid){

/* 用数组的方式来保存所有引用的评论 */

global$temp_arr;

$temp_arr[] =$list[$key];

//p($list[$key]);echo "

";

return$list[$key];

}

}

returnfalse;

}

$temp_arr= array();//设一个全局的数组变量来保存引用评论的信息

$list= getCommentByArticleId();//通过文章id获取所有的文章评论

$htmlStr= commentArr2Html($list);//把获取到的评论格式化转换为html形式

?>

文章评论的无限引用PHP+Mysql实现

<!--

内蒙古网友 -3-24 16:33:49 发表

//第四层引用

//第三层引用

//次顶层引用

//最顶层引用1 广州网友 原贴:

向马XX同志荣升台湾省省长表示祝贺!

2 四川网友 原贴:

四川人民发来贺电!1 广州网友 原贴:

向马XX同志荣升台湾省省长表示祝贺! 3 陕西西安网友 原贴:

陕西网友发来贺电

内蒙网友发来贺电

-->

你的名字:

联系方式或个人网站:

选择引用的评论:

选择引用123456789

评论内容酷站网软:

PHP+MySQL实现模糊查询员工信息功能

PHP+MySQL实现输入页码跳转到指定页面功能示例

PHP+mysql+ajax实现轻量级聊天室的方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。