码迷,mamicode.com
首页 > Web开发 > 详细

PHP笔记学习节选(创世纪新篇)

时间:2015-09-18 13:58:09      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

  if ,true,false,return value.

php之SQL语句中的模糊查找

       主要通过LIKE(不区分大小写)关键字实现模糊查找。LIKE条件一般用在指定搜索某字段的时候, 通过"%"或者" _" 通配符的作用实现模糊查找功能,通配符可以在字段前面也可以在后面或前后都有。只通过LIKE是无法实现模糊查找的,因此通配符的作用不可忽略。

下面是三个实例:
搜索以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]  view plain copy
  1. <?php  
  2.     $conn = @mysql_connect("localhost""root"""or die("数据库链接错误");  
  3.     mysql_select_db("bbs"$conn);  
  4.     mysql_query("set names ‘GBK‘"); //使用GBK中文编码;  
  5.       
  6.     if($_GET[‘key‘]) {  
  7.           
  8.         $sql = "SELECT * FROM `text` WHERE content LIKE ‘%$_GET[key]%‘";  
  9.         $query = mysql_query($sql);  
  10.           
  11.         while($r=mysql_fetch_array($query)) { 
  1.             echo "$r[content]"."<br>";  
  2.         }  
  3.     }  
  4.       
  5. ?>  
  6.   
  7. <html>  
  8.     <body>  
  9.     <form action="" method="get">  
  10.     关键字:  
  11.     <input type="text" name="key" />  
  12.     <input type="submit" name="sub" value="搜索" />  
  13.     </form>  
  14.     </body>  
  15. </html>  

搜索php的效果图
技术分享

二、多个关键字搜索的原理和技巧
单个关键字搜索的步骤:提交表单->PHP文件接收关键字->执行SQL->输出结果
如果是多关键字的时候:在提交表单的时候将多个关键字用空格或+号分隔开,然后PHP文件接收到所提交的字符串后,通过一些函数如:explore函数将字符串拆分成多个关键字存放在数组中;然后就可以在数据库中通过多个LIKE模糊查找得到所要查找的内容。

三、替换关键字高亮显示
通过模糊查找得到所要的内容后,使用正则表达式替换所要查找的内容,可以通过改变颜色,加粗等改变显示的效果。
[php]  view plain copy
  1. <?php  
  2.     $conn = @mysql_connect("localhost""root"""or die("数据库链接错误");  
  3.     mysql_select_db("bbs"$conn);  
  4.     mysql_query("set names ‘GBK‘"); //使用GBK中文编码;  
  5.       
  6.     if($_GET[‘key‘]) {  
  7.         $k = explode(" "$_GET[key]);  
  8.           
  9.         $sql = "SELECT * FROM `text` WHERE content LIKE ‘%$k[0]%‘ or content LIKE ‘%$k[1]%‘";  
  10.         $query = mysql_query($sql);  
  11.           
  12.         while($r=mysql_fetch_array($query)) {  
  13.             $r[content] = preg_replace("/($k[0])/i""<font color=red><b>\\1</b></font>"$r[content]);  
  14.             $r[content] = preg_replace("/($k[1])/i""<font color=red><b>\\1</b></font>"$r[content]);  
  15.             echo "$r[content]"."<br>";  
  16.         }  
  17.     }  
  18.       
  19. ?>  
  20.   
  21. <html>  
  22.     <body>  
  23.     <form action="" method="get">  
  24.     关键字:  
  25.     <input type="text" name="key" />  
  26.     <input type="submit" name="sub" value="搜索" />  
  27.     </form>  
  28.     </body>  
  29. </html>  
当然熟练掌握PHP,要多练习代码,PHP也有许多集成开发环境,也可以实现许多软件项目

PHP笔记学习节选(创世纪新篇)

标签:

原文地址:http://my.oschina.net/bigfool007139/blog/508055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!