6月17 练习ThinkPHP的增删改查
利用ThinkPHP连接数据库的增删改查的例题:用到的数据库表名Info表,Nation表
数据显示页面:MainController.class.php中的ShowInfo方法
//例题
//显示所有数据
public function ShowInfo()
{
$model = D("Info");
$attr = $model->field("Info.Code as InfoCode,Info.Name as InfoName,Info.Sex,Nation.Name as NationName,Info.Birthday ")->join("Nation on Info.Nation=Nation.Code")->select(); $this->assign("shuju",$attr);
$this->display();
//var_dump($attr);
} //删除数据的操作方法
public function ShanChu($code)
{
$model = D("Info");
$z = $model->delete($code);
if($z)
{
$this->success("删除成功",U("ShowInfo"));
}
else
{
$this->error("删除失败");
}
}
模板的数据显示:ShowInfo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<h1>主页面</h1>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>生日</td>
<td>操作</td>
</tr>
<foreach name="shuju" item="v">
<tr>
<td><{$v.infocode}></td>
<td><{$v.infoname}></td>
<td><{$v["sex"]?"男":"女"}></td>
<td><{$v.nationname}></td>
<td><{$v.birthday}></td>
<td><a href="__CONTROLLER__/ShanChu/code/<{$v.infocode}>">删除</a>
<a href="__CONTROLLER__/XiuGai/code/<{$v.infocode}>">修改</a></td>
</tr>
</foreach>
</table>
<br />
<br /> <a href="__CONTROLLER__/TianJia">添加</a>
</body>
</html>
数据删除的操作方法:ShanChu
//删除数据的操作方法
public function ShanChu($code)
{
$model = D("Info");
$z = $model->delete($code);
if($z)
{
$this->success("删除成功",U("ShowInfo"));
}
else
{
$this->error("删除失败");
}
}
数据添加的操作方法:TianJia
//添加数据的操作方法
public function TianJia()
{
if(empty($_POST))
{
$model = D("Nation");
$attrn = $model->select();
$this->assign("minzu",$attrn);
$this->display();
}
else
{
$model = D("Info");
$model->create();//自动收集表单并且创建数据
$model->Sex = $_POST["Sex"]=="男"?true:false;
$z = $model->add();
if($z)
{
$this->success("添加成功","TianJia");
}
else
{
$this->error("添加失败");
}
}
}
添加数据模板显示:TianJia.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<h1>添加数据</h1>
<form action="__ACTION__" method="post">
<div>代号:<input type="text" name="Code" /></div> <div>姓名:<input type="text" name="Name" /></div> <!--<div>性别:<input type="text" name="Sex" /></div>-->
<div>性别:<input type="radio" name="Sex" value="男" />男
<input type="radio" name="Sex" value="女" />女
</div> <div>民族:<select name="Nation">
<foreach name="minzu" item="v">
<option value="<{$v.code}>"><{$v.name}></option>
</foreach>
</select>
</div> <div>生日:<input type="text" name="Birthday" /></div>
<br />
<input type="submit" value="添加" />
<br />
<br />
<a href="__CONTROLLER__/ShowInfo">返回主页面</a>
</form>
</body>
</html>
数据修改的操作方法:XiuGai
//修改数据的操作方法
public function XiuGai($code)
{
$modeli = D("Info");
$modeln = D("Nation");
if(empty($_POST))
{
$attri = $modeli->find($code);
$attrn = $modeln->select(); $this->assign("info",$attri);
$this->assign("nation",$attrn);
$this->display();
}
else
{
$modeli->create();
$modeli->Sex = $_POST["Sex"]=="男"?true:false;
$z = $modeli->save();
if($z)
{
$this->success("修改成功!",U("ShowInfo"));
}
else
{
$this->error("修改失败");
}
}
}
修改模板数据显示:XiuGai.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<h1>修改数据</h1>
<form action="__ACTION__/code/<{$info.code}>" method="post">
<div><input type="hidden" name="Code" value="<{$info.code}>"/></div> <div>姓名:<input type="text" name="Name" value="<{$info.name}>" /></div> <!--<div>性别:<input type="text" name="Sex" /></div>-->
<div>性别:<input type="radio" name="Sex" value="男" <{$info["sex"]?"checked='checked'":""}> />男
<input type="radio" name="Sex" value="女" <{$info["sex"]?"":"checked='checked'"}> />女
</div> <div>民族:<select name="Nation">
<foreach name="nation" item="v">
<if condition="$info['nation'] == $v['code']">
<option selected="selected" value="<{$v.code}>"><{$v.name}></option>
<else/>
<option value="<{$v.code}>"><{$v.name}></option>
</if>
</foreach>
</select>
</div> <div>生日:<input type="text" name="Birthday" value="<{$info.birthday}>" /></div>
<br />
<input type="submit" value="修改" />
<br />
<br />
<a href="__CONTROLLER__/ShowInfo">返回主页面</a>
</form>
</body>
</html>
显示效果依次如下:




6月17 练习ThinkPHP的增删改查的更多相关文章
- ThinkPHP的增删改查!
对表的操作: 增加:M('表名')->add($data); (可以是数组) 删除:M('表名')->delete($data); (不可以是数组,删除多个有另外的方法) 修改:M('表 ...
- ES 17 - (底层原理) Elasticsearch增删改查索引数据的过程
目录 1 增删改document的流程 1.1 协调节点 - Coordinating Node 1.2 增删改document的流程 2 查询document的流程 1 增删改document的流程 ...
- ThinkPHP - CURD增删改查 - 实例 - 搜索功能
模板代码: /** * 搜索数据 * @return 无返回值 */ public function search(){ //判断并接收参数 //姓名 if ( isset($_POST['usern ...
- ThinkPHP - CURD增删改查 - 实例
目录结构:
- ThinkPHP - CURD增删改查操作
public function show(){ //使用model模型 //1.可以使用 $user = new Model('User'); //2.可以使用 $user = M('User'); ...
- thinkphp的增删改查命令 - (mysql-thinkphp) (4)
方法1,在namespace下面加2行 use think\Controller; use think\Db; 1.查询所有结果 $res = Db::query("select * fro ...
- ThinkPHP实现对数据库的增删改查
好久都没有更新博客了,之前老师布置的任务总算是现在可以说告一段落了,今天趁老师还没提出其他要求来更新一篇博客. 今天我想记录的是我之前做项目,自己所理解的ThinkPHP对数据库的增删改查. 首先要说 ...
- ThinkPHP 的模型使用对数据库增删改查(五)
原文:ThinkPHP 的模型使用对数据库增删改查(五) ThinkPHP 的模型使用 // 直接连接数据库,但是得先去配置文件中配置下才行 class IndexAction extends Act ...
- thinkPHP增删改查的方法案例
thinkphp对数据库增删改查进行了封装操作,使得使用更加方便,但是不一定灵活. 可以用封装的用,需要写sql,可以执行sql. 1.原始的 $Model = new Model(); // 实例化 ...
随机推荐
- p3792 由乃与大母神原型和偶像崇拜(思维+线段树)
要求 1.修改x位置的值为y 2.查询区间l,r是否可以重排为值域上连续的一段 可以,很lxl 然后一开始思考合并区间,但是发现可以重排序,GG 然后想了特殊性质,比如求和,但是显然可以被叉 这时候我 ...
- 题解——洛谷P1550 [USACO08OCT]打井Watering Hole(最小生成树,建图)
题面 题目背景 John的农场缺水了!!! 题目描述 Farmer John has decided to bring water to his N (1 <= N <= 300) pas ...
- 深度学习课程笔记(十一)初探 Capsule Network
深度学习课程笔记(十一)初探 Capsule Network 2018-02-01 15:58:52 一.先列出几个不错的 reference: 1. https://medium.com/ai% ...
- 用yarn代替cnpm,cnpm漏包有点严重
npm 的方式 npm install -g yarn 安装完成后,你可以测试下自己的版本 yarn --version 开始使用 单独安装包的方式add 不是install,后面不用加 ...
- 【ASP.Net】publish asp.net to local IIS
做web项目难免要将项目部署, 要么部署在azure上,要么部署在本地, 使用IIS去host. 部署步骤很简单, 1. vs打开你的web项目, 项目名上面右键选择publish 2. 在弹出的pu ...
- Linux命令之du命令
du命令 显示文件或目录所占用的磁盘空间. 命令格式: du [option] 文件/目录 -h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等 -s 显示文件或整个目录的大小,默认 ...
- 正则获取 某段 DIV 中 的内容
string html = "<div class='aa'><div class='left'>324324<div>dsfsdf</div> ...
- Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile
完整的错误信息: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile ( ...
- oracle 12c创建可插拔数据库(PDB)及用户
由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener.or ...
- JAVA基础知识总结:十六
一.File类 主要用于文件操作 对存储在磁盘上的文件和目录的抽取和封装 二.IO流 1.概念 File类只能创建或者修改文件或者文件夹的层级结构,如果要访问文件中的内容的话,就需要用到IO流(Inp ...