if ,true,false,return value. php
php之SQL語句中的模糊查找 html
主要經過LIKE(不區分大小寫)關鍵字實現模糊查找。LIKE條件通常用在指定搜索某字段的時候, 經過"%"或者" _" 通配符的做用實現模糊查找功能,通配符能夠在字段前面也能夠在後面或先後都有。只經過LIKE是沒法實現模糊查找的,所以通配符的做用不可忽略。 mysql
下面是三個實例:
搜索以PHP開頭:
SELECT * FROM table WHERE title LIKE 'PHP%'
搜索以PHP結束:
SELECT * FROM table WHERE title LIKE '%PHP'
搜索包含PHP100:
SELECT * FROM table WHERE title LIKE '%PHP%'
注:%表示0個或多個字符構成的字符串,_表示單個字符,相似於正則表達式中元字符的做用
在LIKE後面能夠增長其餘條件,相似於if語句
例子的數據庫中的內容
- <?php
- $conn = @mysql_connect("localhost", "root", "") or die("數據庫連接錯誤");
- mysql_select_db("bbs", $conn);
- mysql_query("set names 'GBK'"); //使用GBK中文編碼;
-
- if($_GET['key']) {
-
- $sql = "SELECT * FROM `text` WHERE content LIKE '%$_GET[key]%'";
- $query = mysql_query($sql);
-
- while($r=mysql_fetch_array($query)) {
- echo "$r[content]"."<br>";
- }
- }
-
- ?>
-
- <html>
- <body>
- <form action="" method="get">
- 關鍵字:
- <input type="text" name="key" />
- <input type="submit" name="sub" value="搜索" />
- </form>
- </body>
- </html>
搜索php的效果圖
2、多個關鍵字搜索的原理和技巧
單個關鍵字搜索的步驟:提交表單->PHP文件接收關鍵字->執行SQL->輸出結果
若是是多關鍵字的時候:在提交表單的時候將多個關鍵字用空格或+號分隔開,而後PHP文件接收到所提交的字符串後,經過一些函數如:explore函數將字符串拆分紅多個關鍵字存放在數組中;而後就能夠在數據庫中經過多個LIKE模糊查找獲得所要查找的內容。
3、替換關鍵字高亮顯示
經過模糊查找獲得所要的內容後,使用正則表達式替換所要查找的內容,能夠經過改變顏色,加粗等改變顯示的效果。
- <?php
- $conn = @mysql_connect("localhost", "root", "") or die("數據庫連接錯誤");
- mysql_select_db("bbs", $conn);
- mysql_query("set names 'GBK'"); //使用GBK中文編碼;
-
- if($_GET['key']) {
- $k = explode(" ", $_GET[key]);
-
- $sql = "SELECT * FROM `text` WHERE content LIKE '%$k[0]%' or content LIKE '%$k[1]%'";
- $query = mysql_query($sql);
-
- while($r=mysql_fetch_array($query)) {
- $r[content] = preg_replace("/($k[0])/i", "<font color=red><b>\\1</b></font>", $r[content]);
- $r[content] = preg_replace("/($k[1])/i", "<font color=red><b>\\1</b></font>", $r[content]);
- echo "$r[content]"."<br>";
- }
- }
-
- ?>
-
- <html>
- <body>
- <form action="" method="get">
- 關鍵字:
- <input type="text" name="key" />
- <input type="submit" name="sub" value="搜索" />
- </form>
- </body>
- </html>
固然熟練掌握PHP,要多練習代碼,PHP也有許多集成開發環境,也能夠實現許多軟件項目