PHP要实现关键字查搜索,需要用到like关键字来组合查询条件
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了通山免费建站欢迎大家使用!
like具体实现方法如下:
例一:
1 $userForm=M('user');
1 $where['name']=array('like','phpernote%');
2 $userForm-where($where)-select();
这里的like查询即为:name like 'phpernote%'
例二:
1$where['name']=array('like',array('%phpernote%','%.com'),'OR');
这里的like查询即为:name like '%phpernote%' or name like '%.com'
例三:
1$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'phpernote','or');
这里的like查询即为:(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'phpernote')
例四:
1$where['_string']='(name like "%phpernote%") OR (title like "%phpernote")'
这里的like查询即为:name like '%phpernote%' or title like '%phpernote'
站内搜索是一种使用关键字来搜索文章标题的功能。
PHP的站内搜索可以使用SELECT和LIKE语句来对文章的标题进行过滤选择,将需要的数据筛选出来。 如果有多个筛选可以使用AND语句连接起来进行多条语句筛选。 如果希望是能搜索到全站所有的数据,一般在数据库设计之初最好就是把所有数据放一个表,然后通过扩展表的方式进行数据扩展!具体方法可以参考ONETHINK的设计模式。
具体搜索方法: SELECT * FROM 表名 WHERE 字段 LIKE '%关键字%'
数据库(mysql):一个数据库(search),库里面一个表(title),表里面一个字段(name).
PHP页面:两个页面(index.php
search.php)
第一步.创建数据库.(目前大家应该都是用的phpmyadmin来操作数据库的吧?)
建立一个数据库.
第二步.建表
在刚建立的search数据库里插入一个名字为title的表.建表时让选插入几个字段.写1就可以了.
第三步.建字段
插入的字段命名为name,长度值20就可以了.
—–数据库部分已经做完,接下来是网页部分—–
第四步.建立两个页面
建立两个文件:index.php和search.php可以使用记事本等文本工具直接建立.我使用的工具是Dreamweaver(方便嘛.呵呵).
第五步.index.php的页面制作.
这个页面是用来传递你搜索的关键字的.代码如下:
form method=”post”
action=”search.php”
name=”search”
input name=”search” type=”text” value=”"
size=”15″ input type=”submit”
value=”Search”
/form
这段代码是建立一个FORM表单.专门用来提交数据的.
第一行是FORM表单的开始.它的传递方式是post,传递到search.php这个页面.表单名为name.
第二行是文本域和提交按钮.文本域命名为search,按钮默认就可以了.
第三行是FORM表单的结束语句.
第五步.search.php的页面制作.
这个页面很关键.因为他是获取index页面传递过来的值,然后导出搜索的数据.
首先要绑定你建立的search数据库,我用的DW生成的.
上一个页面传送的文本域是search.所以,这里需要建立一个search变量.来接收你输入的关键词.用以下语句定义变量:
?php
$searchs = $_POST['search'];
?
然后建立一个记录集,选择高级.SQL语句中填写:
SELECT *
FROM title
WHERE name like
‘%$searchs%’
这句的意思是选择title表里面的所有字段(*),然后查询name中的$searchs变量。这个变量也就是你在index中输入的值啦。
然后在BODY里面绑定一个动态文本。选择NAME。
先读取文本文件啊,在文本文件中搜索,如果文本较小的话可以直接用函数查找