微博项目_添加分组功能

微博项目中,用户通常会把不同的用户划分到相应的分组中,所以分组的添加与列表显示也是必不可少的。

分组列表

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- /practice/Home/View/Common/group.html -->

<div>
<span style="font-weight: bold">分组列表</span>
<ul>
<li><a href="{:U('Common/group')}">全部</a></li>
<foreach name='group' item='v'>
<li>
<a href="{:U('Common/group',array('gid' => $v['id']))}">{$v.name}</a>
</li>
</foreach>
</ul>
</div>

在显示不同的分组列表时,用到了<a>链接。另外,需要根据不同的分组信息跳转到相对应的分组页面,使用U方法传递参数,实现该效果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* /practice/Home/Controller/CommonController.class.php */

<?php
namespace Home\Controller;
use Think\Controller;

class CommonController extends Controller {
//分组信息
public function group() {
$group = M('group')->where(array('uid' => session('uid')))->select();
$this->group = $group;
$this->display();
}
}
?>

添加分组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- group.html -->

<div>
<form action="{:U('addGroup')}" method="post">
<span style="font-weight: bold">创建好友分组</span>
<p>
<label for="gp-name">分组名称</label>
<input type="text" name="name" id="gp-name">
</p>
<p>
<input type="submit" value="添加">
</p>
</form>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* CommonController.class.php */

//添加分组
public function addGroup() {
if (!IS_POST) {
E('页面不存在');
}
$data = array(
'name' => I('post.name'),
'uid' => session('uid')
);
if (M('group')->data($data)->add()) {
$this->success('创建成功');
} else {
$this->error('创建失败,请重试...');
}
}

对于这类功能,利用JS异步处理效果会更好一些,而我为了熟悉TP框架,直接利用的PHP服务器端处理。

-------------The End-------------