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

我们今天的任务就是在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中实现数据的增删查改。

Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库的更多相关文章

  1. SQL Server -- 回忆笔记(三):ADO.NET之C#操作数据库

    SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库 1.连接数据库 (1)创建连接字符串: 使用windows身份验证时的连接字符串: private string conStr= ...

  2. Java基础(三十三)JDBC(3)操作数据库

    一.添加数据 在SQL语句中,一条INSERT语句只能添加一条记录,因此分为几种情况进行添加数据操作. 1.添加一条记录 (1)如果只需要添加一条记录,通常情况下通过Statament实例完成. tr ...

  3. 2014-07-30 MVC框架中对SQL Server数据库的访问

    今天是在吾索实习的第16天.我自己主要学习了基于MVC框架的系统的开发时,对SQL Server数据库的相关访问.其步骤如下: 第一步,在Models文件夹中创建一个类,并命名为Movies.cs,如 ...

  4. ThinkPHP框架基础知识三

    一.JS文件与Css文件存放位置 其实JS与Css文件放在任意位置都可以找到,只要路径正确就行. 在TP框架中我们访问的所有文件都要走入口文件index.php,相当于访问的是index.php页面. ...

  5. 攻城记:Thinkphp框架的项目规划总结和踩坑经验

    一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...

  6. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

  7. 关于在BAE上部署ThinkPHP框架的问题

    现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...

  8. thinkphp框架下404页面设置

    404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.clas ...

  9. ThinkPHP框架概述

    框架概述 1.什么是框架 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统. 2.框架的应用场景 ① 代码重用 ② 合理分工 ③ 解决团队协作开发问题 3. ...

随机推荐

  1. surface pro 4 wifi掉线问题

    更新你的无线网卡驱动到最新版本15.68.9032.47,重启.或者运行regedit修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mr ...

  2. avalon的表单验证

    表单验证 avalon内置了强大的表单验证功能,它需要结合ms-duplex, ms-validate, ms-rules这个三个指令一起使用. ms-duplex负责监控每个表单元素的输入. ms- ...

  3. Windows zabbix监控远程进程实现机制

    最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:za ...

  4. 【尝新】微信小程序初体验

    文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474644089434 根据文档地址中下载微信开发工具后,按照文档指引可以创建一个快速体验的小d ...

  5. Issue 3:数据处理基本认识

    介绍 传统数据库对数据处理一般都分成两类:OLTP和OLAP. 数据分析(OLAP)的前提条件是要准备数据. 然后才是具体的数据分析,对此,可以分为统计型的数据分析和挖掘性的数据分析. 最后对分析结果 ...

  6. jqurey datatable mRender FnRender 不起作用问题

    用这个插件的   知道他不起作用,就应该知道他是做什么的了吧,我的不起作用的原因是版本的问题 我在网上查找的用法 是 "fnRender":fuction(obj){} 可是不起作 ...

  7. iPhone CSS media query(媒体查询)

    iPhone5  iPhone6  iPhone6Plus iPad设备 media query(媒体查询)代码. iPhone < 5: @media screen and (device-a ...

  8. [Android Tips] 24. Gradle listing project dependencies

    ./gradlew app:dependencies or install this Android Studio Plugin https://github.com/rholder/gradle-v ...

  9. Myeclipse8.6配置android_SDK,进行android开发(转载)

    Myeclipse8.6下部署环境,总结一下个人Android环境配置的过程(首先不要急着启动Myeclipse) 1.下载SDK:http://developer.android.com/sdk/i ...

  10. Contributing to the C++ Core Guidelines

    Contributing to the C++ Core Guidelines "Within C++ is a smaller, simpler, safer language strug ...