突然發現用PHP做多條件模糊查詢很簡單

2021-07-06 05:58:16 字數 1345 閱讀 8307

所使用的方法:$sqlarr=array();array_push();implode();

原理,一、建立sql語句前半句,並且建立乙個空陣列。

二、根據條件是否為空來判斷是否向陣列中新增元素。如果不為空,使用array_push()方法來新增,第乙個引數為陣列名稱,第二個引數為值。

三、全部條件判斷完畢用implode()方法來拆分陣列。第乙個引數為使用什麼字元來拆分,可以為字串,第二個引數為陣列。

四、加上sql語句後半句。完成sql語句!

例如:$sql="select * from member where member_type=0 and (";

$sqlarr=array();

if($member_id!="")

array_push($sqlarr," id like '$member_id' ");

if($member_name!="")

array_push($sqlarr," member_name like '%$member_name%' ");

if($member_creation!="")

array_push($sqlarr," member_creation>'%$member_creation%'");

$sql.=implode(" or ",$sqlarr);

$sql.=") order by id desc";$rs=mysql_query($sql);

$total=mysql_num_rows($rs);

$totalpage=ceil($total/$pagesize);

if($page>$totalpage)

$page=$totalpage;

$sql="select * from member where member_type=0 and (";

$sqlarr=array();

if($member_id!="")

array_push($sqlarr," id like '$member_id' ");

if($member_name!="")

array_push($sqlarr," member_name like '%$member_name%' ");

if($member_creation!="")

array_push($sqlarr," member_creation>'%$member_creation%'");

$sql.=implode(" or ",$sqlarr);

$sql.=") order by id desc limit ".($page-1)*$pagesize.",".$pagesize;

這樣,所有的引數都可以新增進來。

PHP多條件模糊查詢

所使用的方法 sqlarr array array push implode 原理,一 建立sql語句前半句,並且建立乙個空陣列。二 根據條件是否為空來判斷是否向陣列中新增元素。如果不為空,使用array push 方法來新增,第乙個引數為陣列名稱,第二個引數為值。三 全部條件判斷完畢用implod...

php 條件查詢和多條件查詢

條件迴圈 public w3c dtd xhtml 1.0 transitional en 代號名稱 系列時間 油耗功率 include dbda.class.php db new dbda tj name if empty post sql select from car tj attr db q...

PHP多條件查詢處理

php多條件查詢處理 在sql裡面寫這種查詢的地方很多,要讓查詢寫得富化。方法一 獲取字典型別 sztm trim request ztm stmpy trim request tmpy sssh trim request ssh scbm trim request cbm sql select f...