首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
PHP站内搜索:多关键字、加亮显示
时间:
2015-08-11 15:37:08
阅读:
174
评论:
0
收藏:
0
[点我收藏+]
标签:
一、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
$conn = @mysql_connect(
"
localhost
"
,
"
root
"
,
""
) or die(
"
数据库链接错误
"
);
mysql_select_db(
"
bbs
"
, $conn);
mysql_query(
"
set names ‘utf-8‘
"
);
//
使用utf8中文编码;
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文件接收关键字->执行SQL->输出结果
如果是多关键字的时候:在提交表单的时候将多个关键字用空格或+号分隔开,然后PHP文件接收到所提交的字符串后,通过一些函数如:explore函数将字符串拆分成多个关键字存放在数组中;然后就可以在数据库中通过多个LIKE模糊查找得到所要查找的内容。
三、替换关键字高亮显示
通过模糊查找得到所要的内容后,使用正则表达式替换所要查找的内容,可以通过改变颜色,加粗等改变显示的效果。
<?php
$conn = @mysql_connect(
"
localhost
"
,
"
root
"
,
""
) or die(
"
数据库链接错误
"
);
mysql_select_db(
"
bbs
"
, $conn);
mysql_query(
"
set names ‘utf-8‘
"
);
//
使用utf8中文编码;
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站内搜索:多关键字、加亮显示
标签:
原文地址:http://www.cnblogs.com/qhorse/p/4720858.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!