ThinkPhp框架的數據庫操作(查詢)


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);

 

 

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM