博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库
阅读量:5025 次
发布时间:2019-06-12

本文共 2022 字,大约阅读时间需要 6 分钟。

1、首先简单介绍一下我们的数据库,thinkphp数据库下有一个tp_user表,然后有四个字段。。。。idusernamepasswordsex

 

 

我们今天的任务就是在Thinkphp下将数据调出来。(增删查改)

 

 <?php

// 本类由系统自动生成,仅供测试用途

class IndexAction extends Action {

    public function select(){

     /*这是从数据库里读取数据

     * 有select();find();getfield()三种方法

 //$m=new Model('User');/*与$m=M('User');效果相同下面没有new,意思是实例化数据库中的user表,我们就可以使用了,因为config.php中配置了数据库表前缀,所以直接写user表就可以了。*/

     $m=M('User');//用model方法调用数据库中的user表

     $arr=$m->select();//select()方法是将数据库中所有的信息显示出来,相当于$sql=select * from `user`;

     //$arr=$m->find();/*只返回一条数据,默认为第一条,当在里面传入参数时可以显示其他条信息

$sql=select * from `user` limit 1;*/

     //$arr1=$m->where('id=2')->getField('username');/*getfield()是用来获取字段的但是也只能获取一条,默认是第一条;在前面添加where()方法,里面的参数写的就是条件,相当于

$sql=select ‘username’ from `user` where ‘id’=2, limit 1;

*/

     //对数据的读取

     $this->assign('data',$arr);//assign原意是分配的意思,assign()方法传递数据到前台显示

      $this->display();

     } 

}//后台部分结束

  

前台显示部分:

1.调出来的内容如果只是某一个字段中的单个信息,因为$this->assign('data',$arr);将数据赋给了data,那么在前台直接<{$data}>,就可以显示出内容。

2.如果调出来的是数组形式的,也就是把整个字段调出来的话,$this->assign('data',$arr);data就是一个数组形式的,那么在前台遍历的时候一般用<foreach><volist>遍历,具体用法如下:

<volist name=’data’ id=’vo’>

<{vo.username}>--<{vo.password}>--<{vo.sex}>

</volist>//解析:vo是在前台这个数组的新名字,也就是id=’’,这个id值必带。Vo.字段名,就能调取出来查询到的内容中这个字段的具体内容了。

<foreach>基本相同就是将id=’vo’,改成了item=’vo’,

<foreach name=’data’ item=’vo’>

<{vo.username}>--<{vo.password}>--<{vo.sex}>

</foreach>

//前台显示结束

    

     /*这是添加信息到数据库

      $m=M('User');//用model方法是用数据库

     $m->username='李四';//username赋值

     $m->sex=1;//sex赋值

     $m->add();//add(),是自带的添加方法,假如将这条语句赋给一个变量,返回值是他的id号

     $this->display();

     */

    

    

     /*删除数据

     $m=M('User');

     $m->where("sex=1 && username='王二'")->delete();//返回值是受影响行数

//相当于$sql=”delete from `user` where ‘sex’=1 && ‘username’=’王二’”;

     $this->display();

     */

      

        

     /*修改数据

     $m=M('User');

     $data['id']=1;

     $data['username']='ysj';

     $count=$m->save($data);//假若将这条语句赋给一个变量echo出来,则会返回一个影响行数(即影响了几行,一个人是一行)

  if($count>0){

echo ”数据添加成功”;

}else{

echo “数据添加失败”

}

//上面的sql语句相当于$sql=”UPDATE `tp_user` SET `username`='ysj' WHERE ( `id` = 7 )  ”;

   */

这就是怎样在Thinkphp中实现数据的增删查改。

转载于:https://www.cnblogs.com/ysjChinesePHP/p/3854427.html

你可能感兴趣的文章
SQL日常问题和技巧——持续更新
查看>>
springMVC入门(一)------springMVC基本概念与安装
查看>>
Sam做题记录
查看>>
[bzoj] 2453 维护数列 || 单点修改分块
查看>>
IIS版本变迁
查看>>
BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理
查看>>
mybatis09--自连接一对多查询
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
视频监控 封装[PlayCtrl.dll]的API
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
简化工作流程 10款必备的HTML5开发工具
查看>>
c++ 调用外部程序exe-ShellExecuteEx
查看>>
Java进击C#——语法之知识点的改进
查看>>
IdentityServer流程图与相关术语
查看>>
BirdNet: a 3D Object Detection Framework from LiDAR information
查看>>
icon fonts入门
查看>>
【Django】如何按天 小时等查询统计?
查看>>