本文介绍了一种实现多键多字段SQL语句生成功能的方法,供大家参考,具体实现方法如下:

先看例子:

复制代码代码如下:$关键字 123 ;

echo语句搜索($关键词,enter_gongyin_pic

代:

复制代码代码如下:SELECT * FROM ` enter_gongyin_pic `哪里`一`像% 1%、`一`像% 2%一样,也是第一次使用。

$关键字通过POST或获取获得。单独的字段可以通过空格分开查找。

实现功能如下:

复制代码如下:函数搜索($关键字,$表,$字段)

{

/ / ========================================================



参数描述:

关键字是关键字,比如北京的首都,列车的方向。

/ /表的表名,如enter_gongyin_pic。

字段是字段的组合,如果您要查找字段,请写名称

至于两 / /以上姓名+ picdir

/ / ========================================================

首先确定字段

new_field美元=爆炸(+

field_count美元=计数($ new_field); / /结果的数量





newstring美元=爆炸($关键词); / /空间通过剥离

newstring2美元=阵();

/ /字符串没有舅公去除空间元素

$ I = 0;

foreach(newstring美元美元美元关键=值){

如果($)!

{

{ } =我newstring2美元美元美元的价值;

美元+;

}

}

/ /字符串没有舅公去除空间元素,



result_count美元=计数($ newstring2); / /结果的数量



下面生成SQL语句





/ / **********************如果($ field_count = = 1) / /找到1场开始****************************

如果($ field_count = = 1) / /找1个领域

{

如果($ result_count = = 1) / /如果判断是一个关键的环节

{

newstring_search美元= $ newstring2 { 0 };

$选择

从' $表'

在`美元。new_field { 0 }。`像' % $ newstring_search %;

}



如果($ result_count > 1)/判断多个关键环节

{



$选择

从' $表'

;

sql_add美元= ;

foreach(newstring2美元美元美元关键=价值)

{

如果($ = 0)

{

sql_add = sql_add美元美元。

}

其他的

{

sql_add = sql_add美元美元。或,new_field { 0 }。喜欢$。%;



}



}



美元美元美元sql_add SQL语句;

}



}



/ / **********************如果($ field_count = = 1) / /找到1场结束****************************





/ / **********************如果($ field_count > 1) / /找到多个领域开始****************************

如果($ field_count > 1) / /找到多个领域,这一次new_field美元是一个数组有多个领域。

{

如果($ result_count = = 1) / /如果判断是一个关键的环节

{

newstring_search美元= $ newstring2 { 0 }; / / newstring_search美元是关键词

$选择

从' $表'

;

sql_add美元= ; / /新领域

foreach(new_field美元美元美元关键=价值)

{

如果($ = 0)

{

sql_add = sql_add美元美元。

}

其他的

{

sql_add = sql_add美元美元。或。`像'。newstring_search美元。%;

}

}

美元美元美元sql_add SQL语句;

}

如果($ result_count > 1)/判断多个关键环节(多个关键词)==========================

{

$选择

从' $表'

;

sql_add美元= ; / /新领域

foreach(new_field美元美元美元关键=价值)

{

如果(关键= = 0美元) / / $ new_field { 0 }:`一`像遇到% 1%、`一`是2%或`一`像% 3%

{ / /嵌套foreach

foreach(newstring2美元美元美元KEY2 = value2)

{

如果(KEY2 = = 0美元)

{

sql_add = sql_add美元美元。

}

其他的

{

sql_add = sql_add美元美元。或。`像'。2美元。%;

}

}

/ /嵌套foreach

}

其他的

/ / (if it is a name+picdir table with many fields such as check) to start FOREACH continuous cycle, each ELSE $new_field{1} $new_field{2} $new_field{3}.

值的相应值

{

/ / foreach(嵌套的多领域、多关键词)

foreach(newstring2美元美元美元KEY2 = value2)

{

如果(KEY2 = = 0美元)

{

sql_add = sql_add美元美元。或。`像'。2美元。%;

}

其他的

{

sql_add = sql_add美元美元。或。`像'。2美元。%;

}

}

/ /嵌套foreach

}



} / / foreach(new_field美元美元美元关键= >价值)结束

美元美元美元sql_add SQL语句;

} / /如果($ result_count > 1)结束

} / /如果($ field_count > 1)结束

/ / **********************如果($ field_count > 1) / /找到多个领域****************************结束

返回sql;

}

希望本文能对大家的PHP程序设计有所帮助。