用纯php做的评论回复功能
因为是评论功能,所以第一就是先要怎么发表评论(这里没有权限的限制)
一、数据库
建立两张表,一是pinglun表;二是huifu表
二、建立好数据库后就开始写评论了
(1)写一个文本域用来显示评论的内容
(2)写一个按钮,让文本域中的内容写入数据库
<form action="chuli.php" method="post"> <!--这个表单,用来提交文本域中的内容到处理页面的--> <input type="text" hidden="hidden" value="张三" name="uid" /> <!--因为没有权限,这里给了一个默认值--> <textarea name="content" ></textarea><!--评论显示的地方--> <input type="submit" value="评论" /><!--单击评论提交这些内容进处理页面--> </form>
下面是这个数据的处理页面,写入数据库
<?php include("DBDA.class.php"); //调用数据库类 $db = new DBDA(); $uid = $_POST["uid"]; //传过来的uid $content = $_POST["content"]; //传过来的评论内容 $time = date("Y-m-d H:i:s"); //当前的时间 //写入数据库中的表里 $sql = "insert into pinglun values('','{$uid}','{$content}','{$time}')"; $db->query($sql,0); header("location:index.php"); //返回主页面
效果图如下显示:
(3)写入数据后进行数据的显示,查询数据库就好了
注意:因为要回复评论的数据,所以在显示数据的时候要进行回复按钮的遍历显示
<?php include("DBDA.class.php"); //调用数据库类 $db = new DBDA(); //造新对象 $sql = "select * from pinglun "; //查询数据 $arr = $db->Query($sql); //执行语句 foreach($arr as $v) { //回复按钮这里因为要提交他的code号,所以在里面加了一个表单 echo"<tr> <td>{$v[0]}</td><br> <td>{$v[1]}</td><br> <td>{$v[2]}</td><br> <td>{$v[3]}</td><br> <form action='chuli1.php?id={$v[0]}' method='post'><textarea name='comment' ></textarea> <input type='submit' name='hui' value='回复'/> </form> <tr>";<br> //回复内容的显示 } ?>
显示出评论的内容,如下:
(4)回复按钮的功能实现
文本域中就是回复的内容提交给处理页面,而且将代号传到处理页面
<form action='chuli1.php?id={$v[0]}' method='post'> <textarea name='comment' ></textarea> <input type='submit' value='回复'/> </form>
处理页面的处理数据库,将回复的内容添加到数据库的表中
<?php include("DBDA.class.php"); $db = new DBDA(); $id = $_GET["id"]; //将点击回复的评论id传过来 $comment = $_POST["comment"]; //回复文本域中的内容 $uid = "李四"; $time = date("Y-m-d H:i:s"); $sql = "insert into huifu values('','{$id}', '{$uid}','{$time}','{$comment}')"; $db->query($sql,0); header("location:index.php");
执行这个回复功能查看效果,能写入数据库。
(5)回复内容的展示
这样也是通过查询数据库来显示回复内容,这里要显示在循环里面
$hf = new DBDA(); $sql = "select * from huifu where jieshouid={$v[0]}"; //查询回复表中的id和传过去的id是不是一样的 $arr = $hf->Query($sql); foreach($arr as $v) { //显示的回复表中的相应内容 echo" <div>{$v[2]}</div> <div>{$v[3]}</div> <div>{$v[4]}</div>"; }
通过上面的整体编写,展示出最后的结果,没有样式的编写,所以最后是这样的结果:
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知