zero3412 发表于 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语句是错的?

zero3412 发表于 2010-8-20 20:16:26

本帖最后由 zero3412 于 2010-8-20 20:17 编辑


if(count($arr) > 1){
$this->db->like('searchname',$arr);
for ($i=1;$i<count($arr);$i++) {
    $this->db->or_like('searchname',$arr[$i]);
}
}


CI真是快捷方便,请管理员结贴。搞定了。

xiasix 发表于 2010-8-24 09:03:45

牛叉啊!!!!

smtdream 发表于 2010-8-25 23:28:52

啊 ,厉害 牛x
页: [1]
查看完整版本: 关于多关键词的搜索?