この記事では主に thinkPHP フレームワークによって実装された無限返信コメント機能を紹介し、無限返信を実装するための thinkPHP の関連コントローラーとビュー操作スキルをサンプルの形で簡単に分析します。必要な方はこの記事を参照してください。
この例では、thinkPHP フレームワークによって実装された無限返信コメント機能について説明します。参考までに皆さんに共有してください。詳細は次のとおりです。
単純な 1 つの返信コメントだけであれば、操作は非常に簡単です。しかし問題は、無制限のコメント返信を実現する方法です。したがって、応答が 1 つしかない場合は、多数のデータ テーブルを構築する必要がありますが、これを実現することはまったく不可能です。次に、TP フレームワークを使用してコメントへの無制限の返信を実現し、データベースの使用に注意します。
コントロール コントローラー パーツ:
function CommentList($pid = 0, &$commentList = array(), $spac = 0) { static $i = 0; $spac = $spac + 1; //初始为1级评论 $List = M('comment')-> field('id,add_time,author,content,pid')-> where(array('pid' => $pid))->order("id DESC")->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']=$pautor; $i++; $this->CommentList($v['id'], $commentList, $spac); } return $commentList; }
ビュー ビュー パーツ:
<volist name="commentList" id="vo"> <eq name="vo.pid" value="0"><hr class="solidline"/><else/><hr class="dottedline"/></eq> <p class="commentList " style="padding-left:{$vo['level']-1}cm"> <p><span class="user"> <if condition="($vo.pauthor eq NULL)">{$vo.author} <else /> {$vo.author}<span class="black" style="color: #000101">回复</span>{$vo.pauthor} </if> </span><a class="hf" id="{$vo.id}" style="float: right">回复</a><span class="hftime">{$vo.time|date="Y-m-d",###}</span></p> <p class="content">{$vo.content|reFace}</p> </p> </volist>
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
thinkphp フレームワークでのログイン、登録、およびパスワードの取得のための関数コード
ThinkPhp についてフレームワーク フォーム検証と Ajax 検証の問題の分析
以上がthinkPHPフレームワークを使用したコメントへの無制限返信を実装する機能コードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。