thinkphp?

Tags: 條件, 職業, 區間,

thinkphp中的區間查詢,除了可以用between和in外,還可以使用數組作為查詢條件,結合 and 或者 or 使用

初始配置thinkphp

新建數據表qq_game,數據表內容如圖:

thinkphp 3.1.3 區間查詢的常見方法

建一個thinkphp 項目tp,入口文件如圖:

thinkphp 3.1.3 區間查詢的常見方法

在App/Conf的config.php 配置數據庫導入,如圖:

thinkphp 3.1.3 區間查詢的常見方法

在tp項目的App/Lib/Action下新建文件SearchAction.class.php文件,其函數sectionSearch,作為區間查詢的函數。

如圖:

thinkphp 3.1.3 區間查詢的常見方法

使用between 或 in作為區間查詢

BETWEEN,選取介於兩個值之間的數據範圍:

例:

1、選取分數在19到25之間的記錄

2、選取分數不在19到25之間的記錄

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

IN , 在多個值中選值。

例:

1、選取分數為23或者25的記錄

2、選取分數不是23或者25的記錄

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

array('查詢條件', '查詢條件' ,... , 'AND/OR/XOR')

where 條件中,默認是AND

例:找出id>8且<17的所有數據

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

也可使用OR

例:找出id<8或大於17的所有數據

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

查詢條件也可有多個:

例:查詢遊戲名稱為”三國“或者含有”傳奇“或”仙劍“或”大唐“的所有記錄。

生成的sql為:

SELECT * FROM `qq_game`

WHERE ((`name` LIKE '%傳奇%') OR (`name` LIKE '%仙劍%')

OR (`name` LIKE '%大唐%') OR (`name` = '三國') )

thinkphp 3.1.3 區間查詢的常見方法

thinkphp 3.1.3 區間查詢的常見方法

相關問題答案