ThinkPhp框架的数据库操作(查询)

0

找到入口文件的控制器:

 

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

打开Login控制器。

代码写在index方法中。

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

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

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

1
2
3
4
5
6
7
8
9
<?php
namespace Admin\Model;
use Think\Model;
class UserModel extends Model
{
}

方法一:

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

显示结果:

方法二:

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

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

 

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

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

效果与以上两种相同。

 

数据库查找:

首先造模型:

1
$user= M("user");

 

查询数据(所有):

1
2
$at $user->select();
var_dump($at);

查一条数据:

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

结果:

只会显示一条数据。

 

条件查询:

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

 

结果:

 

切换数据表:

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

 

选择操作的字段:

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

 

 

排序:

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

 

分页:

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

 

分组:

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

 

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

 

连接查询:

1
$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 ‘班级’ 是一定要写的,不然会出现查询字段显示不匹配。

1
<span style="font-size: 16px"><strong><span style="color: #ff0000">去重:</span></strong></span><em id="__mceDel"><span style="font-size: 16px"><br></span></em>
1
2
$at $user->distinct(true)->field("pwd")->select();
var_dump($at);

 

 

1
<br><br>

http://www.cnblogs.com/cyrfr/p/6532928.htmlhttp://www.cnblogs.com/cyrfr/p/6532928.html

Share.

Leave A Reply