1、先看效果
2、基本设置思路
2.1、首先创建一个数据表user,包含基本字段:username,password,email等;
2.2、在Home目录下创建一个控制器UserController.class.php,所有的逻辑处理都在这个控制器里通过不同的方法实现;
2.3、对应三个页面准备在在View目录下的User目录下创建相相应的视图文件;
3、控制器实现逻辑
3.1、index方法默认加载所有数据进行展示,即在视图中创建一个index.html的模板[PHP] 纯文本查看 复制代码 // 默认首页显示所有数据
public function index(){
$m = M('User');
$array = $m->select();
// 查询所有数据传给index.html模板
$this->assign('data', $array);
$this->display();
} 3.2、模板文件index.html绘出基本表格,再通过volist标签将数据遍历出来[HTML] 纯文本查看 复制代码 <html>
<head>
<script>
function jump(){
window.location = "__URL__/add";
}
</script>
</head>
<body>
<table border="1" width=80% align="center">
<tr>
<th>id</th><th>username</th><th>password</th><th>email</th><th>操作</th>
<volist name="data" id="vo">
<tr align="center">
<td><{$vo.id}></td>
<td><{$vo.username}></td>
<td><{$vo.password}></td>
<td><{$vo.email}></td>
<td>
<a href="__URL__/del/id/<{$vo.id}>">删除</a>|
<a href="__URL__/modify/id/<{$vo.id}>">修改</a>
</td>
</tr>
</volist>
</tr>
</table><br/>
<center>
<button>添加用户</button>
</center>
</body>
</html> 3.3、增加新用户,通过首页一个按钮事件,指向控制器的add方法,add方法的基本实现加载add.html模板显示新增页面[PHP] 纯文本查看 复制代码 // 1.1、视图方法,显示添加页面
public function add(){
// 加载add.html模板
$this->display();
}
// 1.2、逻辑方法,添加某条数据到数据库
public function create(){
$m = M('User');
// 获取post传过来的数据,通过add方法添加到数据库
$data['id']=$_POST['id'];
$data['username']=$_POST['username'];
$data['password']=$_POST['password'];
$data['email']=$_POST['email'];
$r = $m->add($data);
// 返回结果为添加成功的自增主键值(如果有自增主键的话优先)或影响行数(即返回1)
if ($r > 0){
$this->success('数据添加成功!', 'index');
}else{
$this->error("添加失败!");
}
} 3.4、新增页面也是一个表单,表单提交到控制器的create方法,create方法将从表单获取到的数据插入数据库,成功后跳回到首页[HTML] 纯文本查看 复制代码 <html>
<body>
<form action="__URL__/create" method="post">
username:<input type="text" name="username" /><br/>
password:<input type="password" name="password" /><br/>
email:<input type="text" name="email" /><br/>
<input type="submit" value="添加新用户"/>
</form>
</body>
</html> 3.5、删除方法很简单,通过将当前行的id发送到控制器的del方法中,del直接通过id删除数据库中对应的条目[PHP] 纯文本查看 复制代码 // 2、删除方法,根据id删除某条记录
public function del(){
$m = M('User');
$id = $_GET['id'];
// 获取需要删除的数据id号,调用delete方法删除,返回影响行数,如果大于0则删除成功
$count = $m->delete($id);
if ($count>0){
$this->success("数据删除成功");
}else{
$this->error("数据删除失败");
}
} 3.6、修改和新增功能类似,先跳转到一个修改页面将内容全部展示出来,然后提交到一个控制器的update方法进行修改[PHP] 纯文本查看 复制代码 // 3.1、视图方法,显示修改页面
public function modify(){
$m = M('User');
$id = $_GET['id'];
// 根据传过来的id查询相关数据并赋值给modify.html模板
$array = $m->where("id=$id")->find();
// 显示修改页面
$this->assign('data', $array);
$this->display();
}
// 3.2、逻辑方法,更新获取到的某条记录
public function update(){
$m = M('User');
// 获取post传过来的数据,通过save方法更新到数据库,类似create
$data['id']=$_POST['id'];
$data['username']=$_POST['username'];
$data['password']=$_POST['password'];
$data['email']=$_POST['email'];
$r = $m->save($data);
if ($r > 0){
$this->success('数据修改成功!', 'index');
}else{
$this->error("数据修改失败!");
}
} 3.7、相关模板文件也是通过表格展示数据,表单提交[HTML] 纯文本查看 复制代码 <html>
<body>
<form action="__URL__/update" method="post">
<input type="hidden" name="id" value="<{$data.id}>" />
username:<input type="text" name="username" value="<{$data.username}>"/><br/>
password:<input type="password" name="password" value="<{$data.password}>"/><br/>
email:<input type="text" name="email" value="<{$data.email}>"/><br/>
<input type="submit" value="提交修改" />
</form>
</body>
</html> 4、源代码下载: |