年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3244|回复: 0

4、使用CRUD实现简单用户数据管理

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2016-3-10 11:46:33 | 显示全部楼层 |阅读模式
    1、先看效果
    屏幕快照-2016-03-10-上午11.21.38.jpg 屏幕快照-2016-03-10-上午11.22.04.jpg 屏幕快照-2016-03-10-上午11.22.14.jpg

    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、源代码下载:
    游客,如果您要查看本帖隐藏内容请回复
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-4-20 08:58 , Processed in 0.050146 second(s), 25 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表