Thinkphp帶表情的評論回覆例項

albercode發表於2019-09-10

基於Thinkphp開發的一個簡單的帶表情的評論回覆例項,可以無限回覆,適合新手學習或作為畢業設計作品等。

Thinkphp帶表情的評論回覆例項

評論提交驗證

$(".submit-btn").click(function() { 
    var $this = $(this); 
    var name = $this.parent().siblings().children('.name1').val(); 
    var content = $this.parent().siblings().children('.comment').val(); 
    if (name == "" || content == "") { 
        alert("暱稱或者評論不能為空哦"); 
        return false; 
    } 
});


新增評論

$rules = array(//定義動態驗證規則 
    array('comment', 'require', '評論不能為空'), 
    array('username', 'require', '暱稱不能為空'), 
//            array('username', '3,15', '使用者名稱長度必須在3-15位之間!', 0, 'length', 3), 
); 
$data = array( 
    'content' => I("post.comment"), 
    'ip' => get_client_ip(), 
    'add_time' => time(), 
    'pid' => I('post.pid'), 
    'author' => I('post.username'), 
); 
 
$comment = M("comment"); // 例項化User物件 
if (!$comment->validate($rules)->create()) {//驗證暱稱和評論 
    exit($comment->getError()); 
} else { 
    $add = $comment->add($data); 
    if ($add) { 
        $this->success('評論成功'); 
    } else { 
        $this->error('評論失敗'); 
    } 
}


評論遞迴函式

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; 
}

本文轉自: 轉載請註明出處!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560779/viewspace-2656564/,如需轉載,請註明出處,否則將追究法律責任。

相關文章