TP框架有一套自己的数据库操作的代码,包括数据库的增、删、改、查。本文主要讲解TP框架的数据库查询操作。

找到入口文件的控制器:

我这里的入口文件是Show文件夹下的控制器。

打开Login控制器。

代码写在index方法中。

数据库的定义方式有三种。

前两种要写模型函数,最后一种不需要。

模型的例子(放在Model文件夹下,名字与类名相同,本例的名字:UserModel.class.php)

<?php
namespace Admin\Model;
use Think\Model;
class UserModel extends Model
{ }

方法一:

$user = new \Admin\Model\UserModel();   //表名为user,大小写一致。
$at = $user->select(); //查询此表的所有数据。
var_dump($at); //显示数据

显示结果:

方法二:

$user= D("user");
$at = $user->select();
var_dump($at);

 此方法可自动找到此命名空间中的对应模型,效果与第一种相同。

方法三(此方法不用创建模型文件,自动造模型):

$user= M("user");                 //自动造模型
$at = $user->select();
var_dump($at);

效果与以上两种相同。

数据库查找:

首先造模型:

$user= M("user");

  

查询数据(所有):

$at = $user->select();
var_dump($at);

查一条数据:

$at = $user->find("admin");      //根据主键值admin查找一条数据
var_dump($at);

结果:

只会显示一条数据。

条件查询:

$at = $user->where("uid='admin'")->select();    //查找uid为admin的数据
var_dump($at);

  

结果:

切换数据表:

$at = $user->table("nation")->select();   //切换表名为nation的表进行操作。

 

选择操作的字段:

$at = $user->field("uid,name,pwd")->select();     //只显示uid,name,pwd字段
var_dump($at);

  

排序:

$at = $user->order("code desc")->select();    //根据code降序排列
var_dump($at);

  

分页:

$at = $user->limit("4,2")->select();     //跳过四条数据,显示接下来的两天数据。
$at = $user->page("3,2")->select(); //每页两条数据,显示第3页。

  

分组:

//根据classcode分组,查询每组code最大的数据。
$at = $user->field("max(code)")->group("classcode")->select();
var_dump($at);

//根据classcode分组,查询每组code最大且大于2017000000的数据。
$at = $user->field("max(code)")>group("classcode")>having("max(code)>2017000000")->select(); 
var_dump($at);

  

连接查询:

$at = $user->field("user.code as '代号', user.name as '姓名',nation.name as '班级'")->join("nation on user.code=nation.code")->select();

注意:

user.code as '代号', user.name as '姓名',nation.name as '班级' 是一定要写的,不然会出现查询字段显示不匹配。

去重:
$at = $user->distinct(true)->field("pwd")->select();
var_dump($at);

 


 

ThinkPhp框架的数据库操作(查询)的更多相关文章

  1. ThinkPHP框架模型连贯操作(八)

    原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...

  2. ThinkPhp框架对“数据库”的基本操作

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是 ...

  3. PHP之ThinkPHP框架(数据库)

    PHP是网站后台开发语言,其重要的操作对象莫过于数据库,之前有了解过mysqli和pdo,但ThinkPHP的数据库交互必须使用其特定的封装方法,或者可以认为其是对PHP数据库操作的进一步封装,以达到 ...

  4. java之Hibernate框架实现数据库操作

    之前我们用一个java类连接MySQL数据库实现了数据库的增删改查操作---------MySQL篇: 但是数据库种类之多,除了MySQL,还有Access.Oracle.DB2等等,而且每种数据库语 ...

  5. 018.CI4框架CodeIgniter数据库操作之:Delete删除一条数据

    01. 在Model中写数据库操作语句,代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class User_mo ...

  6. 017.CI4框架CodeIgniter数据库操作之:Updata更新修改一条数据

    01. 在Model中写入数据库操作的代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class User_mod ...

  7. 015.CI4框架CodeIgniter数据库操作之:Query带参数查询数

    01.我们在Models中写数据库的操作.具体的查询代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class U ...

  8. Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']

    public function getMinLimit () {        $sql = "...";        $result = yii::app()->db-& ...

  9. 014.CI4框架CodeIgniter数据库操作之:查询数据库,并让数据以对象的方式返回查询结果

    01. 我们在CI4框架中的Model文件夹新建一个User_model.php的文件,使用的是getResultArray,表示并让数据以数组的方式返回查询结果,代码如下: <?php nam ...

随机推荐

  1. 建立、配置和使用Activity——使用Bundle在Activity之间交换数据

    当一个Activity启动另一个Activity时,常常会有一些数据需要传过去——这就像Web应用从一个Servlet跳到另一个Serlvet时,Web应用习惯把需要交换的数据放入requestSco ...

  2. ImageView及其子类(一)

    ImageView继承自View组件,它的主要功能是用于显示图片——实际上这个书法不太严谨因为他能显示的不仅是图片,任何Drawable对象都可以使用ImageView来显示.除此之外,ImageVi ...

  3. backbone 1.1.2 api

    Backbone.js为复杂WEB应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视 ...

  4. 《Linux多线程服务端编程》笔记——多线程服务器的适用场合

    如果要在一台多核机器上提供一种服务或执行一个任务,可用的模式有 运行一个单线程的进程 运行一个多线程的进程 运行多个单线程的进程 运行多个多线程的进程 这些模式之间的比较已经是老生常谈,简单地总结 模 ...

  5. HTTP服务器的本质:tinyhttpd源码分析及拓展

    已经有一个月没有更新博客了,一方面是因为平时太忙了,另一方面是想积攒一些干货进行分享.最近主要是做了一些开源项目的源码分析工作,有c项目也有python项目,想提升一下内功,今天分享一下tinyhtt ...

  6. MySQL各存储引擎

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或 ...

  7. Introduce: IEPI.BIATranscribe 图像表格拓写工具

    应用场合 数据表格是学术.文案工作中常用的表述形式.我们经常需要从第三方获取所需的数据.有些时候这些数据并非以可直接编辑的形式(如电子表格文档),而是以打印件或者扫描件的形式提供.假如需要对数据进行进 ...

  8. 【福利大放送】不止是Android,Github超高影响力开源大放送,学习开发必备教科书

    一.写在前面 最近项目重构,时间贼多,也没什么时间更新博客,个人的开源项目也是多时没有更新了:github地址,然而没有更新不代表我不在乎,后面一有空还是会继续提交的. 还是来冒个泡,给大家献上一些福 ...

  9. 微端游戏启动器launcher的制作之下载篇(系列一)

    首先第一篇先讲一讲launcher最核心的功能---下载功能. 这个部分估计得好几篇才能写完,东西比较多也比较杂,慢慢来吧,我的东西也在继续改进中...... 从web上下载文件需要用到几个类,Htt ...

  10. cookie,sessionstorage,localstorage区别

    都是保存在浏览器端,且同源的,区别如下: 1.携带 cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递. 而sessionStorage和local ...