首頁 php教程 php手册 thinkphp无限评论

thinkphp无限评论

Jun 07, 2016 am 11:36 AM

使用thinkphp和递归算法写的一个无限评论
无限评论采用的递归算法遍历评论
数据表结构为:

CREATE TABLE `blog_comment` (
`id` int(10) NOT NULL,
`content` varchar(500) NOT NULL,
`pid` int(10) NOT NULL,
`email` varchar(50) NOT NULL,
`add_time` int(30) NOT NULL,
`author` varchar(30) NOT NULL,
`isShow` int(1) NOT NULL,
`ip` varchar(50) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
其中:id为本条评论id,pid为上级评论id,(即本条评论是回复哪一条评论的)
本算法思路,将pid初始化为0,代表一级评论,先查询1级评论,然后再将1级评论的id赋值给pid,调用自身算法遍历1级评论下面的回复,以此类推,一直循环调用自身算法,遍历下一级评论;
算法为:
//评论列表
//评论列表
function CommentList($pid=0,&$commentList=array(),$spac=0,$pauthor=NULL){
static $i=0;
$spac=$spac+1;//初始为1级评论
$pauthor=$pauthor;
$List=M('comment')->
field('blog_comment.id,blog_comment.add_time,blog_comment.author,blog_comment.content,pid,blog_comment.id,blog_comment.pid')-> where(array('blog_comment.pid'=>$pid))->select();
foreach($List as $k=>$v){
$commentList[$i]['level']=$spac;//评论层级
$commentList[$i]['author']=$v['author'];
$commentList[$i]['id']=$v['id'];
$commentList[$i]['pid']=$v['pid'];//此条评论的父id
$commentList[$i]['content']=$v['content'];
$commentList[$i]['time']=$v['add_time'];
$commentList[$i]['pauthor']=$pauthor;//此条评论是回复谁的
$i++;
$this->CommentList($v['id'],$commentList,$spac,$v['author']);
}
return $commentList;
}
最后结果:
thinkphp无限评论

附件 thinkphp无限评论.zip ( 3.01 MB 下载:140 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

了解Python編程的入門級程式碼範例 了解Python編程的入門級程式碼範例 Jan 04, 2024 am 10:50 AM

了解Python編程的入門級程式碼範例

PHP 變數的實際應用:10 個實際使用範例 PHP 變數的實際應用:10 個實際使用範例 Feb 19, 2024 pm 03:00 PM

PHP 變數的實際應用:10 個實際使用範例

如何使用PHP編寫庫存管理系統中的庫存分倉管理功能代碼 如何使用PHP編寫庫存管理系統中的庫存分倉管理功能代碼 Aug 06, 2023 pm 04:49 PM

如何使用PHP編寫庫存管理系統中的庫存分倉管理功能代碼

從入門到精通:Go語言中常用資料結構的程式碼實現 從入門到精通:Go語言中常用資料結構的程式碼實現 Mar 04, 2024 pm 03:09 PM

從入門到精通:Go語言中常用資料結構的程式碼實現

Java實作簡單的冒泡排序程式碼 Java實作簡單的冒泡排序程式碼 Jan 30, 2024 am 09:34 AM

Java實作簡單的冒泡排序程式碼

Go語言程式設計實例:Web開發中的程式碼範例 Go語言程式設計實例:Web開發中的程式碼範例 Mar 04, 2024 pm 04:54 PM

Go語言程式設計實例:Web開發中的程式碼範例

華為雲端邊緣運算對接指南:Java程式碼範例快速實作接口 華為雲端邊緣運算對接指南:Java程式碼範例快速實作接口 Jul 05, 2023 pm 09:57 PM

華為雲端邊緣運算對接指南:Java程式碼範例快速實作接口

指導與範例:學習Java選擇排序演算法的實現 指導與範例:學習Java選擇排序演算法的實現 Feb 18, 2024 am 10:52 AM

指導與範例:學習Java選擇排序演算法的實現

See all articles