ThinkPHP中简单的CURD操作
前言
我们通过一个简答例子来简述CURD的操作。首先看一下数据库的样子,其中id为自增行,其它是varchar
一、查询操作
首先,创建在Controller文件夹下创建一个User控制器,在该控制器下写我们的查询实现方法。
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {
public function index(){
$user = M('User');
$result = $user->select();
$this->assign('data', $result);
$this->display();
}
}
在index方法中我们创建了一个Model,这个Model返回的是数据库的User表。在该表上我们调用select()方法来返回表中所有的数据。数据以数组的方式进行存储的。然后把数组传递给视图,在视图中我们显示出这个表的内容。
<!DOCTYPE html>
<html>
<head>
<title>用户表</title>
</head>
<style type="text/css">
table{
border: 1px solid #DCDCDC;
}
table td{
border: 1px solid #DCDCDC;
}
</style>
<body>
<table style="margin: 0 auto;">
<thead>
<tr>
<td>id</td>
<td>用户名</td>
<td>用户密码</td>
</tr>
</thead>
<tbody>
<volist name="data" id="row">
<tr>
<td>{$row.id}</td>
<td>{$row.username}</td>
<td>{$row.userpwd}</td>
</tr>
</volist>
</tbody>
</table>
</body>
</html>
二、删除操作
在控制器中添加删除方法,通过前台返回的id将数据从数据库中删除
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {
public function index(){
$user = M('User');
$result = $user->select();
$this->assign('data', $result);
$this->display();
} public function del()
{
$user = M('User');
$id = $_GET['id'];
$count = $user->delete($id);
if($count > 0){
$this->success("数据删除成功");
}else{
$this->error("数据删除失败!");
}
}
}
三、修改操作
public function modify(){
$user = M('User');
$id = $_GET['id'];
$result = $user->find($id);
$this->assign('data', $result);
$this->display();
}
这里直接给出方法,modify的作用就是用户点击了修改按钮后,直接跳转到修改页面。并在修改页面显示出用户需要修改的内容。
- index视图
<!DOCTYPE html>
<html>
<head>
<title>用户表</title>
</head>
<style type="text/css">
table{
border: 1px solid #DCDCDC;
}
table td{
border: 1px solid #DCDCDC;
}
</style>
<body>
<table style="margin: 0 auto;">
<thead>
<tr>
<td>id</td>
<td>用户名</td>
<td>用户密码</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<volist name="data" id="row">
<tr>
<td>{$row.id}</td>
<td>{$row.username}</td>
<td>{$row.userpwd}</td>
<td>
<a href="/CloudCrypt/index.php/Home/User/del?id={$row.id}">删除</a>|
<a href="/CloudCrypt/index.php/Home/User/modify?id={$row.id}">修改</a>
</td>
</tr>
</volist>
</tbody>
</table>
<div style="margin: 0 auto;">
<button type="button" onclick="jump();">添加用户</button>
</div>
</body>
</html>
- modify视图
<!DOCTYPE html>
<html>
<head>
<title>修改</title>
</head>
<body>
<form action="/CloudCrypt/index.php/Home/User/update" method="post">
用户名:<input type="text" value="{$data.username}" name="username"><br>
密 码:<input type="text" name="userpwd" value="{$data.userpwd}"><br>
<input type="hidden" name="id" value="{$data.id}">
<button type="submit">提交</button>
</form>
</body>
</html>
四、添加操作
在添加操作中,直接给出所有的代码
- UserContoller.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {
public function index(){
$user = M('User');
$result = $user->select();
$this->assign('data', $result);
$this->display();
} public function del()
{
$user = M('User');
$id = $_GET['id'];
$count = $user->delete($id);
if($count > 0){
$this->success("数据删除成功");
}else{
$this->error("数据删除失败!");
}
} public function modify(){
$user = M('User');
$id = $_GET['id'];
$result = $user->find($id);
$this->assign('data', $result);
$this->display();
} public function update(){
$data['id']=$_POST['id'];
$data['username'] = $_POST['username'];
$data['userpwd'] = $_POST['userpwd'];
$user = M('User');
$count=$user->save($data);
if($count>0){
$this->success('数据修改成功','index');
}else{
$this->error("数据修改失败!");
}
} public function add(){
$this->display();
} public function create(){
$user = M('User');
$user->username = $_POST['username'];
$user->userpwd = $_POST['userpwd'];
$idNum = $user->add();
if($idNum > 0){
$this->success("数据添加成功", 'index');
}else{
$this->error('数据添加失败', 'index');
}
}
}
- 视图层
- index.html
<!DOCTYPE html>
<html>
<head>
<title>用户表</title>
</head>
<style type="text/css">
table{
border: 1px solid #DCDCDC;
}
table td{
border: 1px solid #DCDCDC;
}
</style>
<body>
<table style="margin: 0 auto;">
<thead>
<tr>
<td>id</td>
<td>用户名</td>
<td>用户密码</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<volist name="data" id="row">
<tr>
<td>{$row.id}</td>
<td>{$row.username}</td>
<td>{$row.userpwd}</td>
<td>
<a href="/CloudCrypt/index.php/Home/User/del?id={$row.id}">删除</a>|
<a href="/CloudCrypt/index.php/Home/User/modify?id={$row.id}">修改</a>
</td>
</tr>
</volist>
</tbody>
</table>
<div style="margin: 0 auto;">
<button type="button" onclick="jump();">添加用户</button>
</div>
<script type="text/javascript">
function jump () {
alert('dd');
window.location = "/CloudCrypt/index.php/Home/User/add";
}
</script>
</body>
</html>
- add.html
<!DOCTYPE html>
<html>
<head>
<title>用户表</title>
</head>
<style type="text/css">
table{
border: 1px solid #DCDCDC;
}
table td{
border: 1px solid #DCDCDC;
}
</style>
<body>
<table style="margin: 0 auto;">
<thead>
<tr>
<td>id</td>
<td>用户名</td>
<td>用户密码</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<volist name="data" id="row">
<tr>
<td>{$row.id}</td>
<td>{$row.username}</td>
<td>{$row.userpwd}</td>
<td>
<a href="/CloudCrypt/index.php/Home/User/del?id={$row.id}">删除</a>|
<a href="/CloudCrypt/index.php/Home/User/modify?id={$row.id}">修改</a>
</td>
</tr>
</volist>
</tbody>
</table>
<div style="margin: 0 auto;">
<button type="button" onclick="jump();">添加用户</button>
</div>
<script type="text/javascript">
function jump () {
alert('dd');
window.location = "/CloudCrypt/index.php/Home/User/add";
}
</script>
</body>
</html>
ThinkPHP中简单的CURD操作的更多相关文章
- Laravel框架中的数据库CURD操作、连贯操作、链式操作的用法
Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ...
- berkerly db 中简单的读写操作(有一些C的 还有一些C++的)
最近在倒腾BDB,才发现自己确实在C++这一块能力很弱,看了一天的api文档,总算是把BDB的一些api之间的关系理清了,希望初学者要理清数据库基本知识中的环境,句柄,游标的基本概念,这样有助于你更好 ...
- thinkphp对mysql的CURD操作
利用thinkphp(3.2.3)来操作数据库,首先要连接数据库.我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库.而model文件就不用自定义,内置的即可解决问题. ...
- 使用PHP操作SQL 完成简单的CURD操作
1.从数据库出发,先建立测试数据,这里使用的MYSQL,通过脚本模式创建测试数据. SET NAMES UTF8; DROP DATABASE IF EXISTS disk; CREATE DATAB ...
- thinkphp中的内置操作数据库与mysql中的函数汇总
8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...
- C#中简单的文件操作实例
using System; using System.IO; namespace Demo { class Program { static string tmpPath = @"D:/Lg ...
- thinkphp中简单的控制器使用
1.在路由(route.php)中定义一条路由 Route::rule('new/:name/:id','index/News/read'); 2.在index下的controller控制器中新建一个 ...
- EF简单的CURD操作
/// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...
- ThinkPHP 中M方法和D方法详解----转载
转载的地址,http://blog.163.com/litianyichuanqi@126/blog/static/115979441201223043452383/ 自己学到这里的时候,不能清除的分 ...
随机推荐
- UVA 10827 Maximum sum on a torus (LA)
算法入门经典训练指南88页练习 ::这道题只要把原矩阵扩大4倍,那么其跟最大子矩阵的题目就很类似,把二维转化成一维,求最大的序列和,不过这个序列的长度不能超过n. 长度不能超过n? 那这道题又跟hdu ...
- TableViewer使用
1.自定义编辑器激活方式 /** * Create a customized editor whose activation process is customized * ...
- selenium处理滚动条
1.用js实现 滚动到底部 String js="document.documentElement.scrollTop=10000"滚动到顶部 String js="do ...
- 用javascript得到客户端IP的新方法
javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: < ...
- JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...
- HDU 5025 Saving Tang Monk --BFS
题意:给一个地图,孙悟空(K)救唐僧(T),地图中'S'表示蛇,第一次到这要杀死蛇(蛇最多5条),多花费一分钟,'1'~'m'表示m个钥匙(m<=9),孙悟空要依次拿到这m个钥匙,然后才能去救唐 ...
- UVALive 6264 Conservation --拓扑排序
题意:一个展览有n个步骤,告诉你每一步在那个场馆举行,总共2个场馆,跨越场馆需要1单位时间,先给你一些约束关系,比如步骤a要在b前执行,问最少的转移时间是多少. 解法:根据这些约束关系可以建立有向边, ...
- Hibernate Java、Hibernate、SQL 之间数据类型转换
Hibernate映射类型 Java类型 标准SQL类型 integer java.lang.Integer integer long java.lang.Long bigint sho ...
- eclipse点击一个变量使相同名称变量高亮显示的方法
preferences->java->Editor->Mark Occurences 选择最上的复选框,下面的就有很多了. 其中的Local variables就是变量的高亮显示.
- Maya FEM节点框架完成
这几天把物理模拟框架移植到maya之中了. maya编程有一点比较关键,就是要让自己的程序逻辑适应maya的节点求值机制.在物理模拟中,往往需要进行时间积分,对此我的解决办法是,写一个节点rigSim ...