thinkPHP实现基于ajax的评论回复功能
发布时间:2020-12-14 14:10:53 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解thinkPHP实现基于ajax的评论回复功能。供大家参考研究具体如下: 控制器代码: count(); //获取评论总数 $this->assign('num',$num); $data=array(); $data=$this->getCommlist();//获取评论列表 $this->assign("commlist",$data); $th
本篇章节讲解thinkPHP实现基于ajax的评论回复功能。分享给大家供大家参考,具体如下: 控制器代码: count(); //获取评论总数
$this->assign('num',$num);
$data=array();
$data=$this->getCommlist();//获取评论列表
$this->assign("commlist",$data);
$this->display('index');
}
/**
*添加评论
*/
public function addComment(){
$data=array();
if((isset($_POST["comment"]))&&(!empty($_POST["comment"]))){
$cm = json_decode($_POST["comment"],true);//通过第二个参数true,将json字符串转化为键值对数组
$cm['create_time']=date('Y-m-d H:i:s',time());
$newcm = M('comment');
$id = $newcm->add($cm);
$cm["id"] = $id;
$data = $cm;
$num = M('comment')->count();//统计评论总数
$data['num']= $num;
}else{
$data["error"] = "0";
}
echo json_encode($data);
}
/**
*递归获取评论列表
*/
protected function getCommlist($parent_id = 0,&$result = array()){
$arr = M('comment')->where("parent_id = '".$parent_id."'")->order("create_time desc")->select();
if(empty($arr)){
return array();
}
foreach ($arr as $cm) {
$thisArr=&$result[];
$cm["children"] = $this->getCommlist($cm["id"],$thisArr);
$thisArr = $cm;
}
return $result;
}
}
JavaScript代码: "+data.nickname+""+data.create_time+" "+data.content+" "+data.nickname+""+data.create_time+" "+data.content+" "+data.nickname+""+data.create_time+" "+data.content+" 页面样式代码: 页面布局代码:
php评论及回复功能
{$num}条评论
发表评论
全部评论
{$data.nickname}
{$data.create_time}
{$data.content}
|