TP模仿qq发表状态回复功能

来源:互联网 发布:知乎 昆虫 编辑:程序博客网 时间:2024/04/30 05:16

<?php
class ShowAction extends Action{
//模仿qq发表心情,回复
public function index(){
 $this->display();
 }
//发表
public function add(){
 $model=M('Messige');
 $data['content']=$_POST['content'];
 $data['name']=$_POST['name'];
 $data['pubtime']=Date('Y-m-d H:i:s');
 $data['path']=0;
  if($data['content']!=''){
 $model->add($data);}
 //$list=$model->select();
 
 $list=$model->field("id,name,content,pubtime,path,concat(path,'-',id) as bpath")->order('bpath')->select();//用无线级别分类查看
 foreach($list as $key=>$value){
 $list[$key]['count']=count(explode('-',$value['path'])); 
  }//缩进
  
 $this->assign('list',$list);
 $this->display();
 }
//回复
public function reply(){
  $model=M('Messige');
  $data['name']='whj';
      $data['content']=$_POST['content'];
  $data['pubtime']=Date('Y-m-d H:i:s');
  $patd=$_POST['path'];//获得隐藏域的值
  $data['path']=$patd;//回复时就让他出现无线级别的样式
  if($model->add($data)){
  $this->success('成功','__URL__/add');
   }
  
  }
}

 

index.html

<form action="__URL__/add" method="post">
发表心情<textarea name="content"></textarea><input type="submit" value="发表">
<br />
用户名:<input type="text" name="name">
</form>

add.html

<h1>发表心情</h1>
<p>
<volist name='list' id="vo">
<php>for($i=0;$i<$vo['count'];$i++){echo '&nbsp;';}</php>
{$vo.name}:{$vo.content}<br />
<php>for($i=0;$i<$vo['count'];$i++){echo '&nbsp;';}</php>
{$vo.pubtime}<a href="javascript:void(0)" onclick=" show({$vo.id})">回复</a><!--javascript:void(0)阻止跳转-->

<div  id="replay{$vo.id}" style="display:none">
<form action="__URL__/reply" method="post">
<input type="text" name="content"/>
<input type="submit" value="提交"/>
<input type="hidden" name="path" value="{$vo.path}-{$vo.id}"><!--隐藏域,无线级别显示,path等于父path-父id-->
</form>
</div>
</p>
</volist>

<script type="text/javascript">
function show(id){
document.getElementById('replay'+id).style.display='block';

}
</script>

 

数据库截图