首页 > 作文

ThinkPHP无限级分类原理实现留言与回复功能实例

更新时间:2023-04-06 20:39:24 阅读: 评论:0

本文所述古筝如何调音留言板程序使用了无限级分类的原理,可以实现无限级留言与回复。留言列表gclist保留了留言层次空格,使留言–回复层次分明。分享给大家供大家参考。具体分析如下:

功能上,本程序可以实现无限级留言与回复,即对留言回复,对回复的留言回复。当然你也可以作有限制的控制,使其只对留言回复,关键是在模板代码中去掉回复的留言中的“回复该留言”即可。欢迎去拍砖!

程序效果如下图所示:

完整源码点击此处。

数据表:

复制代码 代码如下: — —————————-

— table structure for `wb_guestbook`

— —————————-

drop table if exists `wb_guestbook`;

create table `eway_guestbook` (

`id` int(10) unsigned not null auto_increment,

`pid` int(10) not null,

`email` varchar(50) not null,

`path` varchar(100) not null,

`urname` varchar(30) not null,

`updatetime` int(10) not null,

`ip` varchar(15) not null,

`url` varchar(200) not null,

`inputtime` int(10) not null,

`content` text not null,

`verify` varchar(32) not null,

`isreply` tinyint(1) not null,

`status` tinyint(1) not null,

primary key (`id`)

) engine=myisam auto_increment=42 default chart=utf8;

代码:

复制代码 代码如下: <?php

// +———————————————————————-

// | wblog

// +———————————————————————-

// | copyright (c) 2008 http://www.w3note.com all rights rerved.

// +———————————————————————-

// | author: 网菠萝果

// +———————————————————————-

// $id$

/**

+——————————————————————————

* @class 留言板控制器guestbookaction.class.php

+——————————————————————————

*/

class guestbookaction extends commonaction {

public function index(){

$garr= d(‘guestbook’)->gclist(“id,urname,inputtime,pid,url,content,path,concat(path,’-‘,id) as bpath”);



$this->assign(‘gklist’, $garr[‘list’]);

$this->assign(‘page’,$garr[‘page’]);

$this->display();

}

// +———————————————————————-

// | 添加留言

// +———————————————————————-



public function add(){

$this->adddata(‘guestbook’);



}

// +————&长春建筑学院学费#8212;——————————————————-

// | 网址跳转。如在表单url添加网址的话,点击会跳转到相关网站

// +———————————————————————-



public function tourl(){

$this->gettourl(‘guestbook’);

}

}

?>

<?php

// +———————————————————————-

// | wblog

// +———————————————————————-

// | copyright (c) 2008 http://www.w3note.com all rights rerved.

// | author: 网菠萝果

// +———————————————————————-

// $id$

/**

+——————————————————————————

* @function 留言板模型 类guestbookmodel.class.php

+——————————————————————————

*/



class guestbookm一个三角形odel extends relationmodel{

// +———————————————————————-

// | $_validate表单自动验证

// +——————R中国有哪些12;————————————————-



protected $_validate = array(

array(’email’,’require’,’请填写您的邮箱!’),

array(’email’,’email’,’邮箱格式错误!’),



);

// +———————————————————————-

// | $_auto表单自动填充

// +———————————————————————-



protected $_auto=array(

array(‘status’,’1′),

array(‘inputtime’,’time’,1,’function’),

array(‘content’,’content’,1,’callback’),

array(‘url’,’geturl’,1,’callback’),

array (‘inputtime’,’time’,1,’function’),

array(‘path’,’path’,3,’callback’),

array(‘urname’,’geturname’,3,’callback’),

);

// +———————————————————————-

// | geturname()过滤用户名

// +———————————————————————-

public function geturname(){

if (ist ($_post[‘urname’])) {

if(trim($_post[‘urname’])==’网菠萝果’){

return $data= ‘ ̄□ ̄’;

}elif(strlen($_post[‘urname’]) >10){

return $data= msubstr($_post[‘urname’],0,5);

}el{

return $data= $_post[‘urname’];

}

}

}

// +———————————————————————-

// | path()返回子类的path,父类的path的值为0

// +———————————————————————-

public function path(){

$pid=ist($_post[‘pid’])?(int)$_post[‘pid’]:0;

$id=$_post[‘id’];

if($pid==0){

return 0;

}



$fat=$this->where(array(‘id’ => $pid))->find();

$data=$fat[‘path’].’-‘.$fat[‘id’];

return $data;

}

// +———————————————————————-

// | content()过滤留言内容

// +———————————————————————-

public function content() {

if (ist ($_post[‘content’]) && !empty ($_post[‘content’])) {

$data =deletehtmltags($_post[‘content’]);

$data =safehtml($data);

if (strlen($data) > 1000) {

$data = msubstr($data, 0, 500);

}

return $data;

}

}

// +———————————————————————-

情人节是几月几// | content()过滤url

// +———————————————————————-

public function geturl(){

if (ist ($_post[‘url’])) {

$data = deletehtmltags($_post[‘url’]);

$data = safehtml($data);

return $data=$data?$data:””;

}

}

// +———————————————————————-

// |gclist($field,$where=”,$pagesize=30)留言列表

// +———————————————————————-

// |$field,字段

// +———————————————————————-

// |$where查询条件,默认为空

// +———————————————————————-

// |$pagesize分页记录,默认为30

// +———————————————————————-

// |使用方法,看上面的控制器调用

// +———————————————————————-



public function gclist($field,$where=”,$pagesize=30) {

import(“org.util.page”);

$count = $this->field(‘id’)->where($where)->count();

$p = new page($count, $pagesize);



$list=$this->field($field)->where($where)->order(‘bpath,id’)->limit($p->firstrow . ‘,’ . $p->listrows)->lect();



foreach ($list as $k => $v) {

$list[$k][‘count’] = count(explode(‘-‘, $v[‘bpath’]));

$list[$k][‘tourname’]=$this->where(array(‘id’=> $v[‘pid’]))->getfield(‘urname’);

$str = ”;

if ($v[‘pid’] <> 0) {

for ($i = 0; $i < $list[$k][‘count’] * 2; $i++) {

$str .= ‘‘;

}

$str .= ‘ ‘;

}

$list[$k][‘space’] = $str;

}

$p->tconfig(‘header’, ‘篇’);

$p->tconfig(‘prev’, “«”);

$p->tconfig(‘next’, ‘»’);

$p->tconfig(‘first’, ‘|«’);

$p->tconfig(‘last’, ‘»|’);

$page = $p->show();

$arr=array(‘page’=>$page,’list’=>$list);

return $arr;

}

}

?>

希望本文所述对大家的thinkphp框架程序设计有所帮助。

本文发布于:2023-04-06 20:38:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1563cc522e10b59c8ba175c11b9a9b8a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:ThinkPHP无限级分类原理实现留言与回复功能实例.doc

本文 PDF 下载地址:ThinkPHP无限级分类原理实现留言与回复功能实例.pdf

标签:留言   代码   表单   菠萝
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图