Thinkphp---练习:数据的增删改查

利用ThinkPHP连接数据库的增删改查的例题:用到的数据库表名Info表,Nation表

数据显示页面:MainController.class.php中的方法(增删改查全包括--function  ShowInfo,ShanChu,TianJia,XiuGai)

 1 <?php
 2 namespace Home\Controller;
 3 use Think\Controller;
 4 class MainController extends Controller
 5 {
 6
 7     //例题:数据的增删改
 8     //显示所有数据:
 9     function ShowInfo()
10     {
11         $model=D("Info");
12         $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();
13         $this->assign("shuju",$attr);
14         $this->display();
15
16     }
17     //删除数据:
18     function ShanChu($code)
19     {
20         $model=D("Info");
21         $r=$model->delete($code);
22         if($r)
23         {
24             $this->success("删除成功",U("ShowInfo"));
25         }
26         else
27         {
28             $this->error("删除失败");
29         }
30
31     }
32     //添加数据:
33     function TianJia()
34     {
35         if(empty($_POST))
36         {
37             $model=D("Nation");
38             $attr=$model->select();
39             $this->assign("shuju",$attr);
40             $this->display();
41         }
42         else
43         {
44             $model=D("Info");
45             $model->create();//自动收集表单数据入库
46             $model->Sex=$_POST["Sex"]=="男"?true:false;
47             $r=$model->add();
48             if($r)
49             {
50                 $this->success("添加成功!","Tianjia",3);
51             }
52             else
53             {
54                 $this->error("添加失败!","Tianjia",3);
55             }
56         }
57     }
58     //修改数据:
59     function XiuGai($code)
60     {
61         $model=D("info");
62         $modeln=D("nation");
63         if(empty($_POST))
64         {
65             $attr=$model->find($code);
66             $attrn=$modeln->select();
67
68             $this->assign("shuju",$attr);
69             $this->assign("shujun",$attrn);
70             $this->display();
71         }
72         else
73         {
74
75             $model->create();
76             $model->Sex=$_POST["Sex"]=="男"?true:false;
77             $r=$model->save();
78             if($r)
79             {
80                 $this->success("修改成功",U("Showinfo"));
81             }
82             else
83             {
84                 $this->error("修改失败!");
85             }
86
87         }
88     }
89 }
90      

模板的数据显示:ShowInfo.html

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>主页面</title>
 6 </head>
 7
 8 <body>
 9 <h2>主页面</h2>
10 <table width="70%" cellpadding="0" cellspacing="0" border="1">
11 <tr>
12 <td>代号</td>
13 <td>姓名</td>
14 <td>性别</td>
15 <td>民族</td>
16 <td>生日</td>
17 <td>操作</td>
18 </tr>
19
20 <foreach name="shuju" item="v">
21 <tr>
22 <td><{$v.infocode}></td>
23 <td><{$v.infoname}></td>
24 <td><{$v["sex"]?"男":"女"}></td>
25 <td><{$v.nationname}></td>
26 <td><{$v.birthday}></td>
27 <td><a href="__CONTROLLER__/XiuGai/code/<{$v.infocode}>">修改</a>&nbsp;&nbsp;<a href="__CONTROLLER__/ShanChu/code/<{$v.infocode}>">删除</a></td>
28 </tr>
29 </foreach>
30 </table>
31 <a href="__CONTROLLER__/TianJia">添加数据</a>
32 </body>
33 </html>

添加数据模板显示:Tianjia.html

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>添加数据</title>
 6 </head>
 7
 8 <body>
 9 <h1>添加数据</h1>
10 <form action="__ACTION__" method="post">
11 <div>代号:<input type="text" name="Code" /></div>
12 <div>姓名:<input type="text" name="Name" /></div>
13 <div>性别:<input type="radio" name="Sex" value="男" />男&nbsp;&nbsp;
14           <input type="radio" name="Sex" value="女" />女
15 </div>
16 <div>民族:
17 <select name="Nation">
18 <foreach name="shuju" item="v">
19 <option value="<{$v.code}>"><{$v.name}></option>
20 </foreach>
21 </select>
22 </div>
23 <div>生日:<input type="text" name="Birthday" /></div>
24 <input type="submit" value="添加" />
25 </form>
26 <a href="__CONTROLLER__/ShowInfo">返回主页面</a>
27 </body>
28 </html>

修改模板数据显示:Xiugai.html

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>修改数据</title>
 6 </head>
 7
 8 <body>
 9 <h1>修改数据</h1>
10 <form action="__ACTION__/code/<{$shuju.code}>" method="post">
11 <input type="hidden" name="Code" value="<{$shuju.code}>" />
12 <div>姓名:<input type="text" name="Name" value="<{$shuju.name}>"/></div>
13 <div>性别:<input type="radio" name="Sex" value="男" <{$shuju["sex"]?"checked=‘checked‘":""}>/>男&nbsp;&nbsp;
14           <input type="radio" name="Sex" value="女" <{$shuju["sex"]?"":"checked=‘checked‘"}> />女
15 </div>
16 <div>民族:
17 <select name="Nation">
18 <foreach name="shujun" item="v">
19     <if condition="$shuju[‘nation‘]==$v[‘code‘]">
20         <option selected="selected" value="<{$v.code}>"><{$v.name}></option>
21      <else/>
22          <option value="<{$v.code}>"><{$v.name}></option>
23      </if>
24 </foreach>
25 </select>
26 </div>
27 <div>生日:<input type="text" name="Birthday" value="<{$shuju.birthday}>" /></div>
28 <input type="submit" value="修改" />
29 </form>
30 <a href="__CONTROLLER__/ShowInfo">返回主页面</a>
31 </body>
32 </html>

运行显示:

1.主页面:

2.添加数据

3.修改数据:

4.删除数据:显示删除后的数据列表

时间: 2024-10-18 18:53:45

Thinkphp---练习:数据的增删改查的相关文章

数据的增删改查(三层)

进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)” 注:这里由于是用于用于测试时,临时建的数据库用于测试使用,在实际使用过程中些许改点参数就可以使用了 /// <summary> /// 是否存在该记录 /// </summary> public bool Exists(long Id) { string sql = "select count(*) Name from t_temp where

yii中数据的"增删改查"相关工作!(此文比较乱,需细看)

使用findByPk()根据数据表主键查询的是对象,不需要使用foreach()循环出来 但是使用findall()和find()查询的是对象类型的数组需要使用foreach()循环出来 ======================================= public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCommand($sql); $query = $r

Mybatis学习总结(二)—使用接口实现数据的增删改查

在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num信息.而personMapper则是该实体类的一个配置文件.需要注意的是,在上一篇博文中,namespace属性的值是其本身,而在这一篇中,使用的是接口.那么两者有什么区别呢?使用接口,那么相关的操作方法不用自己去实现,只需要调用该接口的相关的方法就能够实现相应的功能. 那么,在这里就有一个问题,接

ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的关联,1对多,1对1,谓词查询,多表连接

这里是只是代码,因为博客插入图片效果不是很好,我自己写的总结比较详细,有兴趣的朋友可以在评论里留下邮箱,我收到后会发给大家. 转载注明出处,重视原创者的劳动成果,谢谢! - (void)viewDidLoad { [super viewDidLoad]; [self _creatTable];//插入数据 //    [self _query];// 查询数据 // KVC很霸道,即使readonly通过kvc也可赋值,kvo精华 //    Book * book = [[Book alloc

Node.js + MySQL 实现数据的增删改查

通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-crud && cd $_ $ yarn init -y && npx gitignore node 上面的命令创建了一个空文件夹 node-crud,进入之后初始化一个 package.json 以及创建 .gitignore 文件. 安装 Koa 并创建 app.js 以启动一个

linq的创建 和 数据的增删改查

1.linq创建之前,一定要在sql做好数据表的主外键关系. 2.linq文件是以.dbml结尾,一般一个数据库的名字就是一个linq的名字 3,以实例来演示增删改查 数据库的名字为linq,里面有两个表Users(UserName,Password,Sex,NickName,Birthday,Nation)和Nation(NationCode,NationName) (1)创建名为linq的linq. 创建完之后啥也不用改,如果需要在重新封装类和数据扩展,那就想以前重新建立Users和User

SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/

Mysql学习笔记(三)对表数据的增删改查。

写在前面:(一些牢骚,可以直接跳到分割线后) 太过敏感的人不会快乐,不幸的是我正是这种性格的人. 从培训机构毕业后,迫于经济方面的压力,和当时的班里的一个同学住在了一起,我们在一个公司上班.谁知道这都是不开心生活的源头,从每天早晨开始心情就很糟糕.他是个脾气很慢的人,我是个急脾气,特别是在早上上班的时候.由此种种吧,实在是不胜枚举.算了,还是不说了,太痛苦了,我不太喜欢说别人的坏话.我是学心理学的,已经用各种方法去安慰自己,但是都不太奏效. 回想以往和朋友的交往中,我虽然不算十分合群的人,但绝对

Mybatis学习(3)实现数据的增删改查

前面已经讲到用接口的方式编程.这种方式,要注意的一个地方就是.在User.xml  的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致.如果不一致就会出错,这一章主要在上一讲基于接口编程的基础上完成如下事情: 1. 用 mybatis 查询数据,包括列表 2. 用 mybatis 增加数据 3. 用 mybatis 更新数据.