PHP模糊查询技术案例分析[附源代码下载]
本文结合实例介绍了PHP模糊查询技术。分享给大家参考,如下:
简介
从本质上揭示PHP模糊查询技术的功能
根据输入的关键词,找到相关用户。PHP用户查询器案例研究
计划目标
掌握PHP模糊技术应用课程的要点
PHP模糊查询语法PHP模糊查询应用教程案例(效果图)
数据库设计
用户表(用户):
创建表用户(` uid`int (10) auto _ increment主键注释' user id ',` username`varchar (30)不为空默认值' ' comment '用户名',` password`varchar (6)不为空默认值' ' comment' password ',` sex`char (2)不为空默认值'机密'注释' gender ',` email `varchar (40)不为空默认值' ' COMMENT '邮箱',` hobby `varchar (255)不为空默认值' ' COMMENT ' families ',KEY ` username `(` username `)//index)引擎
如果按照某个条件检索数据,如果条件字段没有索引,查询时会遍历整个表。如果建立索引,查询时查询将基于索引,从而提高查询性能
Mysql模糊查询语法
SQL匹配模式(开发中使用最多的模式之一)正则表达式匹配模式SQL匹配模式
使用SQL匹配模式,不能使用运算符=或!=,但运算符LIKE或NOT LIKE使用了SQL匹配模式。MYSQL提供了两个通配符: %表示任意数量的任意字符(包括0个字符) _表示任意单个字符使用SQL匹配模式。如果匹配格式不包含以上两个通配符中的任何一个,其查询效果相当于=或!=使用SQL匹配模式,默认情况下,在不区分大小写的代码中实现:
选择* FROM用户WHERE用户名,如“l %”;从用户名为“%e”的用户中选择*;选择* FROM用户WHERE用户名,如“% o %”;选择*发自用户,其中用户名如' _ _ _ ';//三_,表示用户名为三个字符的结果集从用户名为“_ o%”的用户中选择*;//第二个字符是o正则表达式匹配模式。匹配任意单个字符*匹配他前面的0个或更多字符eg:x*意味着匹配任意数量的x个字符
[]匹配括号中的任何字符eg:[abc]匹配字符a和b,后者c [a-z]匹配任何字母[0-9]匹配任何数字[0-9]*匹配任何数量的数字[a-z]*匹配任何数量的字母
意思是以一个字符或字符串开始。eg:^a的意思是以字母a开头。
$表示某个字符或字符串。s $的意思是以字母s结尾
使用正则表达式匹配模式使用的运算符:正则表达式(RLIKE)或非正则表达式(NOT RLIKE)代码:
从用户名REGEXP '^l'的用户中选择*;选择*来自用户,其中用户名正则表达式'.';PS:如果只是。使用通配符,并且有几个点通配符,假设有N个,那么匹配模式表示有大于或等于N个。
精确的字符数.$//表示只有三个字符:从用户名正则表达式所在的用户中选择*.$';
情况
显色法
源代码分析
?php/关键字$ keywords=isset($ _ POST[' keywords '])?$_POST['关键字']:"";//连接数据库,php7废弃了mysql_connect推荐使用MySQL _ connect $ link=MySQL _ connect(' localhost :3306 ',' root ',' root ',' mook ');if(!空($关键字)){ $sql='SELECT * FROM '用户在哪里用户名,如“% { $ keywords } %”;}else{ $sql='SELECT * FROM '用户;} $ user sar=[];$ result=$ link-query($ SQL);while($ row=$ result-fetch _ assoc()){//简单高亮显示//$ row[' username ']=str _ replace($ keywords ',font color='red ' .$关键词/font ',$ row[' username ']);//高亮显示,不区分关键字的大小写$usernameArr=preg_split('/(?^)(?$)/u ',$ row[' username ']);foreach($ usernameArr as $ key=$ value){ if(strtopol($ keywords)==strtopol($ value)){ $ usernameArr[$ key]=' font color=' red ' .$值/font ';} } $ row[' username ']=join($ usernameArr);$ UserSarr[]=$ row;}?DOCTYPE html html head meta charset=' utf-8 ' title PHP用户查询器/title/headbody h1php模糊查询/h1表单操作='index.php '方法='post '用户名:输入类型=“文本”名称='关键字'值='' /输入类型='提交'值='提交查询//形式?php if(!空($关键字)){ echo '查询关键词:font color='red ' .$关键词/字体结果!} $ tableString='表宽=' 500 '边框='1 '单元格填充=' 5 ';$表字符串.='tr bgcolor='orange'th用户名/th邮箱/th性别/th/tr ';if(!空($ user sarr)){ foreach($ user sarr as $ key=$ value){ $ tableString .='trtd ' .$value['username']'/tdtd .$value['email']'/tdtd .$ value[' sex ']'/TD/tr;} } else { $ tableString .='trtd colspan='3 '没有数据/TD/tr ';} $ tableString .='/table ';echo $ tableString?/body/html源码下载地址:
点击此处本站下载。
更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《php+mysql数据库操作入门教程》 、 《php+mysqli数据库程序设计技巧总结》 、 《php面向对象程序设计入门教程》 、 《PHP数组(Array)操作技巧大全》 、 《php字符串(string)用法总结》 及《php常见数据库操作技巧汇总》
希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。
版权声明:PHP模糊查询技术案例分析[附源代码下载]是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。