thinkphp中的區間查詢,除了可以用between和in外,還可以使用數組作為查詢條件,結合 and 或者 or 使用
初始配置thinkphp
新建數據表qq_game,數據表內容如圖:
建一個thinkphp 項目tp,入口文件如圖:
在App/Conf的config.php 配置數據庫導入,如圖:
在tp項目的App/Lib/Action下新建文件SearchAction.class.php文件,其函數sectionSearch,作為區間查詢的函數。
如圖:
使用between 或 in作為區間查詢
BETWEEN,選取介於兩個值之間的數據範圍:
例:
1、選取分數在19到25之間的記錄
2、選取分數不在19到25之間的記錄
IN , 在多個值中選值。
例:
1、選取分數為23或者25的記錄
2、選取分數不是23或者25的記錄
array('查詢條件', '查詢條件' ,... , 'AND/OR/XOR')
where 條件中,默認是AND
例:找出id>8且<17的所有數據
也可使用OR
例:找出id<8或大於17的所有數據
查詢條件也可有多個:
例:查詢遊戲名稱為”三國“或者含有”傳奇“或”仙劍“或”大唐“的所有記錄。
生成的sql為:
SELECT * FROM `qq_game`
WHERE ((`name` LIKE '%傳奇%') OR (`name` LIKE '%仙劍%')
OR (`name` LIKE '%大唐%') OR (`name` = '三國') )