普通的评论回复功能

这是用纯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>";
     //回复内容的显示 } ?>

显示出评论的内容,如下:

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

 

通过上面的整体编写,展示出最后的结果,没有样式的编写,所以最后是这样的结果:

 

posted @ 2017-05-22 17:36  悦~  阅读(1435)  评论(4编辑  收藏  举报