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

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:43:09
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP+Mysql實現多關鍵字與多字段生成SQL語句的函數,涉及字符串與數組的操作,是構造SQL語句非常實用的技巧,需要的朋友可以參考下

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

先看實例:

  1. $keyword="1 2 3"
  2. 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獲得.按空格分開 可以多字段去查找.

實現函數如下:

  1. function search($keyword,$table,$field)  
  2. {  
  3. //========================================================  
  4.  
  5. //形參說明:  
  6. //keyword為關鍵字,如“北京首都 方向 火車”。帶有空格或者不帶  
  7. //table為表名,如enter_gongyin_pic。  
  8. //field為字段組合,如查找一個字段就寫好 name   
  9. //如查找兩個以上就用 name+picdir  
  10. //========================================================  
  11. //首先確定field  
  12. $new_field=explode("+",$field); //按+剝離  
  13. $field_count=count($new_field); //得到的結果數量  
  14.  
  15.  
  16. $newstring=explode(" ",$keyword); //按空格剝離  
  17. $newstring2=array();  
  18.    //把字符串去掉沒有用的空格叔祖元素  
  19.    $i=0;  
  20.    foreach ($newstring as $key => $value) {  
  21.    if($value!="")  
  22.    {  
  23.    $newstring2[$i]=$value;  
  24.    $i++;  
  25.    }  
  26.    }  
  27. //把字符串去掉沒有用的空格叔祖元素,  
  28.           
  29. $result_count=count($newstring2); //得到的結果數量  
  30.  
  31. //下面生成SQL語句  
  32.  
  33.  
  34. //********************** if($field_count==1) //找1個字段 START ****************************  
  35. if($field_count==1) //找1個字段  
  36. {  
  37. if($result_count==1) //判斷如果是一個關鍵段  
  38.    {  
  39.    $newstring_search=$newstring2[0];  
  40. $sql="SELECT *   
  41. FROM `$table`   
  42. WHERE `".$new_field[0]."` LIKE '%$newstring_search%'";  
  43.    }  
  44.        
  45.    if($result_count>1) //判斷如果是多個關鍵段  
  46.    {  
  47.  
  48. $sql="SELECT *   
  49. FROM `$table`   
  50. WHERE ";  
  51. $sql_add="";  
  52. foreach ($newstring2 as $key => $value)  
  53. {  
  54.   if($key==0)  
  55.    {  
  56.    $sql_add=$sql_add."`".$new_field[0]."` LIKE '%".$value."%'";  
  57.    }  
  58.    else  
  59.    {  
  60.    $sql_add=$sql_add." OR `".$new_field[0]."` LIKE '%".$value."%'";  
  61.       
  62.         }  
  63.           
  64.           }  
  65.     
  66. $sql=$sql.$sql_add;  
  67. }  
  68.  
  69. }  
  70.  
  71. //********************** if($field_count==1) //找1個字段 END ****************************  
  72.  
  73.  
  74. //********************** if($field_count>1) //找多個字段 START ****************************  
  75. if($field_count>1) //找多個字段,這個時候$new_field是一個數組。擁有多個字段  
  76. {  
  77. if($result_count==1) //判斷如果是一個關鍵段  
  78. {  
  79.         $newstring_search=$newstring2[0]; //$newstring_search是關鍵字  
  80.         $sql="SELECT *   
  81.         FROM `$table`   
  82.         WHERE ";  
  83.         $sql_add="";//新增加字段  
  84.         foreach ($new_field as $key => $value)  
  85.         {  
  86.                         if($key==0)  
  87.                         {  
  88.                         $sql_add=$sql_add."`".$value."` LIKE '%".$newstring_search."%'";  
  89.                         }  
  90.                         else  
  91.                         {  
  92.                         $sql_add=$sql_add." OR `".$value."` LIKE '%".$newstring_search."%'";  
  93.                         }  
  94.         }  
  95.         $sql=$sql.$sql_add;  
  96. }  
  97. if($result_count>1) //判斷如果是多個關鍵段(多個關鍵字)==========================  
  98. {  
  99. $sql="SELECT *   
  100. FROM `$table`   
  101. WHERE ";  
  102. $sql_add="";//新增加字段  
  103. foreach ($new_field as $key => $value)  
  104. {  
  105.   if($key==0) //遇到$new_field[0]時候 例:`a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%'  
  106.    { //嵌套foreach  
  107.      foreach ($newstring2 as $key2 => $value2)  
  108.       {  
  109.                   if($key2==0)  
  110.                    {  
  111.                         $sql_add=$sql_add."`".$value."` LIKE '%".$value2."%'";  
  112.                    }  
  113.                    else  
  114.                    {  
  115.                    $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";  
  116.                    }  
  117.         }  
  118.     //嵌套foreach  
  119.    }  
  120.    else   
  121.    //(如果是多字段的比如查name+picdir表)開始FOREACH連續循環,每次執行ELSE $new_field[1] $new_field[2] $new_field[3]。  
  122.    //對應的值為$value  
  123.   {  
  124.    //嵌套foreach(多字段與多關鍵字)  
  125.    foreach ($newstring2 as $key2 => $value2)  
  126.       {  
  127.                   if($key2==0)  
  128.                    {  
  129.                         $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";  
  130.                    }  
  131.                    else  
  132.                    {  
  133.                    $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";  
  134.                    }  
  135.            }  
  136.    //嵌套foreach  
  137.    }  
  138.          //www.49028c.com 
  139. }//foreach ($new_field as $key => $value)結束  
  140. $sql=$sql.$sql_add;  
  141. }//if($result_count>1)結束  
  142. }//if($field_count>1) 結束  
  143. //********************** if($field_count>1) //找多個字段 END ****************************  
  144. return $sql;  

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91综合免费在线| 欧美另类在线播放| 国产精品女人网站| 亚洲精品美女视频| 亚洲欧美激情在线视频| 亚洲国产天堂久久国产91| 久久人人爽人人| 欧美极品在线播放| 国产亚洲视频中文字幕视频| 国产91精品久久久久久久| 91精品国产成人www| 亚洲国产精品福利| 韩国精品美女www爽爽爽视频| 欧美精品久久久久久久免费观看| 亚洲欧美国产制服动漫| 国内精品久久久久久| 亚洲成人网av| 一区二区国产精品视频| 清纯唯美亚洲激情| 亚洲第一视频在线观看| 久久亚洲春色中文字幕| 欧美日韩亚洲国产一区| 久久噜噜噜精品国产亚洲综合| www亚洲欧美| 亚洲精品国产拍免费91在线| 欧美成人在线免费视频| 亚洲欧美国产另类| 日本中文字幕不卡免费| 欧美精品免费在线观看| 欧美成人亚洲成人日韩成人| 亚洲精品suv精品一区二区| 亚洲成av人片在线观看香蕉| 久久精品视频在线观看| 久久久在线免费观看| 国产精品久久久久久久天堂| 色婷婷av一区二区三区在线观看| 精品偷拍各种wc美女嘘嘘| 国产欧美日韩中文字幕| 91在线观看欧美日韩| 国产做受高潮69| 日韩成人在线电影网| 国产精品一区二区三区毛片淫片| 色先锋资源久久综合5566| 久热精品在线视频| 亚洲成人久久电影| 久久夜色精品国产| 亚洲美女喷白浆| 成人精品视频99在线观看免费| 成人乱色短篇合集| 91香蕉嫩草影院入口| 欧美乱妇40p| 久久久999精品视频| 国产成人小视频在线观看| 精品偷拍各种wc美女嘘嘘| 俺去了亚洲欧美日韩| 国产精品88a∨| 国产区精品视频| 98视频在线噜噜噜国产| 成人福利免费观看| 国产精品一区二区久久久久| 日韩视频在线免费观看| 日韩欧美a级成人黄色| 亚洲精品999| 国产丝袜精品视频| 疯狂做受xxxx高潮欧美日本| 国产精品免费久久久久久| 欧美日韩国产一中文字不卡| 久久久精品网站| 国产精品∨欧美精品v日韩精品| 91精品国产91| 精品国产一区二区三区在线观看| 国产精品免费久久久久影院| 不卡av在线网站| 精品国产美女在线| 国产成人一区二区三区| 欧美乱大交做爰xxxⅹ性3| 91精品免费看| 精品二区三区线观看| 欧美成人午夜视频| 亚洲美女视频网站| 欧美午夜女人视频在线| 97国产精品人人爽人人做| 日韩在线中文字幕| 亚洲大胆美女视频| 欧美乱大交xxxxx另类电影| 亚洲电影第1页| 国产在线视频2019最新视频| 久久91亚洲人成电影网站| xxx欧美精品| 久久激情五月丁香伊人| 亚洲视频日韩精品| 日韩欧美在线视频| 亚洲欧美在线第一页| 欧美亚洲在线视频| 日韩免费黄色av| 另类图片亚洲另类| 一区二区三区高清国产| 久久精品一本久久99精品| 欧美视频一二三| 国产成人精品视频在线观看| 久久精品91久久香蕉加勒比| 北条麻妃一区二区在线观看| 丝袜美腿亚洲一区二区| 欧美日韩成人黄色| 日韩在线播放视频| 亚洲日韩中文字幕在线播放| 久久久久久久久久久国产| 国产不卡视频在线| 大伊人狠狠躁夜夜躁av一区| www.欧美三级电影.com| 国产在线播放不卡| 亚洲另类xxxx| 亚洲第一精品电影| 亚洲国产精品yw在线观看| 91精品久久久久久久久久| 国产欧美一区二区三区久久| 精品国产美女在线| 精品国产一区二区三区在线观看| 亚洲自拍偷拍色图| 最近2019年好看中文字幕视频| 这里只有精品在线观看| 日韩中文字幕网站| 成人网在线观看| 欧美性视频网站| 亚洲男人av在线| 欧美黑人又粗大| 在线日韩av观看| 国产精品揄拍一区二区| 中国人与牲禽动交精品| 久久在线精品视频| 欧美激情免费视频| 日韩在线欧美在线| 精品亚洲男同gayvideo网站| 国内成人精品视频| 日韩欧美精品网站| 热99精品只有里视频精品| 国产精品亚洲片夜色在线| 一区二区欧美久久| 日韩av在线免费播放| 欧美中文字幕第一页| 成人免费视频在线观看超级碰| 日韩精品在线电影| 成人黄色免费片| 日韩电影大片中文字幕| 欧美日韩国产限制| 亚洲精品有码在线| 亚洲男人第一网站| 久久精品国产欧美激情| 精品国产91乱高清在线观看| 欧美黑人极品猛少妇色xxxxx| 国产欧美日韩精品专区| 国产日韩在线免费| 成人黄色免费网站在线观看| 欧美日韩中文字幕在线视频| 久久久精品美女| 久久久久久999| 欧美电影免费观看网站| 亚洲午夜国产成人av电影男同| 一本色道久久88精品综合| 色爱精品视频一区| 国产成人福利网站| 亚洲变态欧美另类捆绑| 国产精品手机播放| 26uuu日韩精品一区二区|