1. php+mysql模糊查询功能
这样查询
在程序中将输入的“123”,转换为多个字符串:
"%1%" "%2%" "%3%" "%12%" "%13%" "%23%" "%123%"
然后:
构造
select * from 数据表 where
(
检索字段 like "%1%"
or 检索字段 like "%2%"
or 检索字段 like "%3%"
or 检索字段 like "%12%"
or 检索字段 like "%13%"
or 检索字段 like "%23%"
or 检索字段 like "%123%"
)
不会hi我 祝你好运
2. 怎么在网页上用PHP做个搜索功能
通过from表单,将查询的关键词,通过 like 跟数据进行模糊查询对比x0dx0a从topics表中查询字段subject与传进来的参数'$_POST['topic']进行比较模糊查询x0dx0a设subject字段数据为:数学,英语,物理,化学,英文x0dx0a$subject=$_POST['topic']; x0dx0a$sql = "select * from topics where subject like '%" .$subject. "%'";x0dx0a$result = mysql_query($sql);x0dx0a若从表单提交的‘topic’值为“学”,得到的结果将是:数学,化学x0dx0a多个字段匹配查询:x0dx0a$sql = "select id,subject from topics where (id like '%" .$id. "%') or (name like '%" .$name. "%') or (subject like '%" .$subject. "%') order by id desc";x0dx0a结果依据字段id的顺序
3. PHP实现搜索查询功能的方法技巧
下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。
页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。
一般的搜索的话,只要在首页显示列表方法index()中给一个:
?
$map=array();//初始化查询条件
$map=$this->_search();//调用查询方法
$total = $this->Model->where ($map)->count(); //这个主要是用来计算页面显示数据条数的
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
然后,就是写一个_search():
protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%'
);
}
return $map;
}
最后,在设置的“搜索”菜单中,调用这个搜索方法。
但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。
这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)
$map=array();
$map=$this->_search();
$total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count();
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
4. php站内搜索怎么做
站内搜索是一种使用关键字来搜索文章标题的功能。
PHP的站内搜索可以使用SELECT和LIKE语句来对文章的标题进行过滤选择,将需要的数据筛选出来。 如果有多个筛选可以使用AND语句连接起来进行多条语句筛选。 如果希望是能搜索到全站所有的数据,一般在数据库设计之初最好就是把所有数据放一个表,然后通过扩展表的方式进行数据扩展!具体方法可以参考ONETHINK的设计模式。
具体搜索方法: SELECT * FROM 表名 WHERE 字段 LIKE '%关键字%'
5. PHP+mysql中实现模糊查询,只是把‘=’改成了‘like’,但是没有变成模糊查询。 怎么修改啊
可以改成这样,$sql="SELECT*农产品like'".$name."%'";
模糊匹配中需要有%之类的通配符来表示$name以外部分的名字,我写的列子中%的位置根据你的实际情况来定,放在$name前面,后面,或者前后都有
6. PHP如何实现模糊搜索
mysql支持自然语言的全文搜索
对于字段的要求:
只能是CHAR, VARCHAR, 或 TEXT 类型的字段
表类型是MyISAM
在表建好,并导入数据后,建立一个fulltext index(索引)
用法:
select 字段1,字段2,字段3, MATCH(要匹配的字段名) AGAINST('keyword') as score from table having score>0
命中的每一行都会有个分数,分数越大表示结果越接近keyword,分数越低的就是越模糊的结果