用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2766|回复: 3
收起左侧

[已解决] 关于多关键词的搜索?

[复制链接]
发表于 2010-8-20 19:45:09 | 显示全部楼层 |阅读模式
本帖最后由 zero3412 于 2010-8-20 20:18 编辑

$arr=preg_split('/\s+/',trim($key)); //将空格隔开的多个关键字放入数组里面
for ($i=0;$i<count($arr);$i++) {
  $this->db->like('searchname',$arr[$i]);
}
输出的SQL是:
WHERE .... ....
AND  `searchname`  LIKE '%a%'
AND  `searchname`  LIKE '%b%'
ORDER BY .... ....

如果单一关键词的话都有结果,我这样写是不是SQL语句是错的?
 楼主| 发表于 2010-8-20 20:16:26 | 显示全部楼层
本帖最后由 zero3412 于 2010-8-20 20:17 编辑
PHP复制代码
 
if(count($arr) > 1){
  $this->db->like('searchname',$arr[0]);
  for ($i=1;$i<count($arr);$i++) {
    $this->db->or_like('searchname',$arr[$i]);
  }
}
 
复制代码


CI真是快捷方便,请管理员结贴。搞定了。
发表于 2010-8-24 09:03:45 | 显示全部楼层
牛叉啊!!!!
发表于 2010-8-25 23:28:52 | 显示全部楼层
啊 ,厉害 牛x

本版积分规则