欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php简单的留言板与回复功能具体实现

程序员文章站 2022-06-09 12:37:57
在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个php程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图 下面我们就...

在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个php程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图

php简单的留言板与回复功能具体实现

下面我们就来继续一下介绍

   id                        这个算是父id 可以通过这个id来查询 在这个id下是否有子id 同时也可以记录这个是那条留言的id

   son_id                    这个是子id 然后通过这个id 可以找到相对应的父id
   news_id                   记录文章的id
   sender_author             接受留言的人
   receiver_author           发送留言的人
   content                   留言的内容
   status                    在有人回复你的帖子的时候 这个值从0转为1时候 该消息不在显示 如果没点击进去 该消息依然存在
   time                      记录留言的时间


留言板回复思路

当发送方(也就留言的人)要到该文章下留言或者回复的的时候就需要接收方(也就文章的作者或者要被回复的人)来接收。单数据库语句查询到这个键sender_author和receiver_author 的是就会知道接收方是谁和发送方是谁了。然后在根据这个判断来显示出回复内容


提示你有一条新的消息思路

当发送方发送消息的时候 这个status的值默认为0 就是提示接收发 你有一条新的消息。当点击进去的时候 调用数据库修改语句把指定的值修改成为1 这样就不显示了                 

查看评论的时候 的数据库操作语句

复制代码 代码如下:

function message($id){   
  $query = $this->db->query("select * from message where news_id = '$id'");//或者文章id后查询里面所有评论  
  return $query->result();   
 }

这个是获取父的留言内容的代码

复制代码 代码如下:

<?php foreach($query as $sel){?>
<p>留言用户:<?php echo $sel->receiver_author;?> 留言内容:<?php echo $sel->content?></p>
<?php }?>

用户是否登陆 并给予留言权限

复制代码 代码如下:

<form id="form1" name="form1" method="post" action="<?php echo site_url()."/publish/user_message"?>">
<textarea rows="5" cols="50" name="huifu" <?php if($uere_name == "0"){echo "disabled";}?> >
<?php
 if($uere_name == "0")
{echo "抱歉你还没登录不能进行留言";}
?>
</textarea>
<input class="wole" name="author" value="<?php echo $author;?>" /><!--接受方帖子作者-->
<input class="wole" name="news_id" value="<?php echo $news_idx;?>" /><!--文章id-->
<input type="submit" name="submit"/>
</form>
<script language="javascript">
function updateinfo(){
  if(<?php echo $uere_name;?> == 1){
    document.form1.submit.value = "留言";
    document.form1.submit.disabled = false;
  }
  else{
    document.form1.submit.value = "还未登录";
 document.form1.submit.disabled = "disabled";
  }
}
updateinfo();
</script>

这个是显示了 获取指定的父id 之后来显示他里面的全部子id 和留言内容

复制代码 代码如下:

<p>这里是<?php echo $is;?>楼 用户:<?php echo $sel->receiver_author;?> <br />留言内容:<?php echo $sel->content?>   

<a onclick="showdiv('contentid<?php echo $is;?>','showtext<?php echo $is;?>')" href="javascript:void(0)">回复</a>
<div id="contentid<?php echo $is;?>" class="none">
<?php 
 $query = $this->db->query("select * from message where son_id ='$sel->id' order by id");//获取指定父id的子回复
 $revis = $query->result();
    foreach($revis as $row){?>
 <p><?php if($row->sender_author == $row->receiver_author){echo $row->sender_author;}
 else{ echo $row->sender_author."回复了:".$row->receiver_author;}?>
  内容是:<?php echo $row->content?></p>
<?php }?>
<form action="<?php echo site_url()."/publish/son_message"?>" method="post">
<input name="son_idx" class="wole" value="<?php echo $sel->id?>" />
<input name="receiver_author" class="wole" value="<?php echo $sel->receiver_author;?>" />
<input class="wole" name="news_id" value="<?php echo $news_idx;?>" /><!--文章id-->
<textarea rows="5" cols="50" name="huifux"></textarea>
<br><input type="submit" name="sub" value="回复"></form></div></p>
<script language="javascript" type="text/javascript">
<!--
function showdiv(targetid,objn){

      var target=document.getelementbyid(targetid);
      var clicktext=document.getelementbyid(objn)

            if (target.style.display=="block"){
                target.style.display="none";
                clicktext.innertext="回复";
 

            } else {
                target.style.display="block";
                clicktext.innertext='收起';
            }

}
-->
</script>


这个是实现之后的效果图片 留言板已经实现了 留言内容回复

php简单的留言板与回复功能具体实现

然后这个是实现了 回复你的时候 会显示你有一条新的留言

php简单的留言板与回复功能具体实现