亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP+Mysql實現多關鍵字與多字段生成SQL語句的函數

2024-05-04 23:26:52
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP+Mysql實現多關鍵字與多字段生成SQL語句的函數,涉及字符串與數組的操作,是構造SQL語句非常實用的技巧,需要的朋友可以參考下
 
 

本文實例講述了PHP+Mysql實現多關鍵字與多字段生成SQL語句的函數的方法。分享給大家供大家參考。具體實現方法如下:

先看實例:

復制代碼代碼如下:
$keyword="1 2 3";
echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函數生成,沒有LIMIT,沒有ORDER BY

生成:
復制代碼代碼如下:
SELECT * FROM `enter_gongyin_pic` WHERE `a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%' OR `b` LIKE '%1%' OR `b` LIKE '%2%' OR `b` LIKE '%3%' OR `c` LIKE '%1%' OR `c` LIKE '%2%' OR `c` LIKE '%3%'

$keyword由POST或者GET獲得.按空格分開 可以多字段去查找.

 

實現函數如下:

 

復制代碼代碼如下:
function search($keyword,$table,$field)  
{  
//========================================================  
  
//形參說明:  
//keyword為關鍵字,如“北京首都 方向 火車”。帶有空格或者不帶  
//table為表名,如enter_gongyin_pic。  
//field為字段組合,如查找一個字段就寫好 name   
//如查找兩個以上就用 name+picdir  
//========================================================  
//首先確定field  
$new_field=explode("+",$field); //按+剝離  
$field_count=count($new_field); //得到的結果數量  
  
  
$newstring=explode(" ",$keyword); //按空格剝離  
$newstring2=array();  
   //把字符串去掉沒有用的空格叔祖元素  
   $i=0;  
   foreach ($newstring as $key => $value) {  
   if($value!="")  
   {  
   $newstring2[$i]=$value;  
   $i++;  
   }  
   }  
//把字符串去掉沒有用的空格叔祖元素,  
          
$result_count=count($newstring2); //得到的結果數量  
  
//下面生成SQL語句  
  
  
//********************** if($field_count==1) //找1個字段 START ****************************  
if($field_count==1) //找1個字段  
{  
if($result_count==1) //判斷如果是一個關鍵段  
   {  
   $newstring_search=$newstring2[0];  
$sql="SELECT *   
FROM `$table`   
WHERE `".$new_field[0]."` LIKE '%$newstring_search%'";  
   }  
       
   if($result_count>1) //判斷如果是多個關鍵段  
   {  
  
$sql="SELECT *   
FROM `$table`   
WHERE ";  
$sql_add="";  
foreach ($newstring2 as $key => $value)  
{  
  if($key==0)  
   {  
   $sql_add=$sql_add."`".$new_field[0]."` LIKE '%".$value."%'";  
   }  
   else  
   {  
   $sql_add=$sql_add." OR `".$new_field[0]."` LIKE '%".$value."%'";  
      
        }  
          
          }  
    
$sql=$sql.$sql_add;  
}  
  
}  
  
//********************** if($field_count==1) //找1個字段 END ****************************  
  
  
//********************** if($field_count>1) //找多個字段 START ****************************  
if($field_count>1) //找多個字段,這個時候$new_field是一個數組。擁有多個字段  
{  
if($result_count==1) //判斷如果是一個關鍵段  
{  
        $newstring_search=$newstring2[0]; //$newstring_search是關鍵字  
        $sql="SELECT *   
        FROM `$table`   
        WHERE ";  
        $sql_add="";//新增加字段  
        foreach ($new_field as $key => $value)  
        {  
                        if($key==0)  
                        {  
                        $sql_add=$sql_add."`".$value."` LIKE '%".$newstring_search."%'";  
                        }  
                        else  
                        {  
                        $sql_add=$sql_add." OR `".$value."` LIKE '%".$newstring_search."%'";  
                        }  
        }  
        $sql=$sql.$sql_add;  
}  
if($result_count>1) //判斷如果是多個關鍵段(多個關鍵字)========================== 
{  
$sql="SELECT *   
FROM `$table`   
WHERE ";  
$sql_add="";//新增加字段  
foreach ($new_field as $key => $value)  
{  
  if($key==0) //遇到$new_field[0]時候 例:`a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%'  
   { //嵌套foreach  
     foreach ($newstring2 as $key2 => $value2)  
      {  
                  if($key2==0)  
                   {  
                        $sql_add=$sql_add."`".$value."` LIKE '%".$value2."%'";  
                   }  
                   else  
                   {  
                   $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";  
                   }  
        }  
    //嵌套foreach  
   }  
   else   
   //(如果是多字段的比如查name+picdir表)開始FOREACH連續循環,每次執行ELSE $new_field[1] $new_field[2] $new_field[3]。  
   //對應的值為$value  
  {  
   //嵌套foreach(多字段與多關鍵字)  
   foreach ($newstring2 as $key2 => $value2)  
      {  
                  if($key2==0)  
                   {  
                        $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";  
                   }  
                   else  
                   {  
                   $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";  
                   }  
           }  
   //嵌套foreach  
   }  
          
}//foreach ($new_field as $key => $value)結束  
$sql=$sql.$sql_add;  
}//if($result_count>1)結束  
}//if($field_count>1) 結束  
//********************** if($field_count>1) //找多個字段 END ****************************  
return $sql;  
}

 

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情综合色综合啪啪五月| 国产精品久久久久久搜索| 日韩男女性生活视频| 欧美成人精品在线播放| 国产精品69精品一区二区三区| 欧美日韩国产在线播放| 91精品国产91久久久久福利| 久久精品亚洲一区| 久热爱精品视频线路一| 久久99热精品这里久久精品| 亚洲精品黄网在线观看| 日韩经典第一页| 欧美体内谢she精2性欧美| 国产亚洲欧美一区| 55夜色66夜色国产精品视频| 欧美孕妇毛茸茸xxxx| 国产精品国产三级国产专播精品人| 亚洲免费一级电影| 7777kkkk成人观看| 中文字幕欧美在线| 欧美精品精品精品精品免费| 另类美女黄大片| 亚洲美女自拍视频| 中文字幕亚洲欧美日韩高清| 九九热精品视频在线播放| 日韩电影中文字幕av| 精品国产网站地址| 韩国视频理论视频久久| 国产一区二区久久精品| 久久久久久综合网天天| 国产成人一区二| 91精品视频在线播放| 日韩电影网在线| 在线不卡国产精品| 中文字幕免费国产精品| 色婷婷久久一区二区| 日本成人在线视频网址| 国产欧美一区二区白浆黑人| 中文字幕精品在线| 亚洲男人天堂古典| 精品久久久香蕉免费精品视频| 欧美日韩在线观看视频| 一区二区三区亚洲| 91极品女神在线| 午夜精品久久久久久久男人的天堂| 狠狠色狠狠色综合日日小说| 91久久精品国产| 欧美劲爆第一页| 国产精品一区二区电影| 日韩精品视频在线| 久久香蕉国产线看观看网| 亚洲最大福利视频网站| 精品视频在线播放| 3344国产精品免费看| 91久久国产精品91久久性色| 欧美与欧洲交xxxx免费观看| 久久人人爽亚洲精品天堂| 欧美激情免费看| 亚洲男人天堂九九视频| 午夜精品久久久久久久白皮肤| 国产免费一区二区三区在线观看| 成人国产精品久久久久久亚洲| 国产精品成人va在线观看| 成人免费视频xnxx.com| 亚洲一区精品电影| 成人精品一区二区三区电影黑人| 日韩a**站在线观看| 中文字幕在线看视频国产欧美在线看完整| 日韩欧美国产高清91| 欧美日韩国产成人在线观看| 久久天天躁夜夜躁狠狠躁2022| 国产精品视频午夜| 日韩精品福利网站| 欧美激情小视频| 亚洲欧洲成视频免费观看| 亚洲一区二区久久久久久| 欧美乱大交做爰xxxⅹ性3| 狠狠久久亚洲欧美专区| 欧美又大粗又爽又黄大片视频| 中文字幕成人在线| 国产精品极品在线| 黑人欧美xxxx| 岛国av午夜精品| 国产精品观看在线亚洲人成网| 欧美成年人视频网站欧美| 18一19gay欧美视频网站| 日韩激情视频在线播放| 日韩av电影在线网| 亚洲一区制服诱惑| 精品国产91久久久久久| 国产精品十八以下禁看| 久久视频在线视频| 91豆花精品一区| 欧美视频免费在线| 欧美一区二区三区精品电影| 国产一区二区成人| 青草青草久热精品视频在线网站| 欧美激情三级免费| 狠狠色狠色综合曰曰| 少妇激情综合网| 国产精品视频99| 国产精品三级网站| 亚洲白虎美女被爆操| 精品毛片三在线观看| 亚洲va欧美va国产综合久久| 成人中文字幕+乱码+中文字幕| 91久久在线观看| 欧美大片免费观看| 日本成人免费在线| 免费不卡在线观看av| 欧美一区二区视频97| 国内精品久久久久影院 日本资源| 日韩av电影中文字幕| 精品国产91久久久久久老师| 91日本在线视频| 国产一区二区三区三区在线观看| 欧美日韩亚洲精品一区二区三区| 国产美女精品视频| 亚洲精品美女网站| 国产日韩中文字幕在线| 丝袜亚洲另类欧美重口| 亚洲第一天堂av| 久久天堂电影网| 国产精品96久久久久久| 国产精品一区二区三区成人| 精品国产91久久久久久老师| 91免费在线视频网站| 国产激情综合五月久久| 日韩av成人在线| 国产网站欧美日韩免费精品在线观看| 亚洲free性xxxx护士hd| 久久久国产影院| 隔壁老王国产在线精品| 欧美激情亚洲国产| 美女国内精品自产拍在线播放| 国产成人精品av在线| 久久久久久久91| 奇米4444一区二区三区| 亚洲成色www8888| 国产精品人成电影| 欧美丰满老妇厨房牲生活| 国产精品电影一区| 国产精品欧美一区二区三区奶水| 国产精品视频永久免费播放| 久久久久国产精品免费| 国产在线精品自拍| 亚洲精品美女在线观看播放| 久久手机精品视频| 久久久噜噜噜久噜久久| 亚洲国产成人在线播放| 国产精品h片在线播放| 亚洲午夜av久久乱码| 欧美尺度大的性做爰视频| 亚洲三级黄色在线观看| 成人免费大片黄在线播放| 亚洲黄色www网站| 国产一区二区视频在线观看| 国产一区二区丝袜| 精品久久久久久久大神国产| 国产精品久久久久福利| 亚洲成人激情图| 国产精品久久久久免费a∨大胸| 成人在线播放av| 亚洲国产日韩欧美综合久久|