$this->db->from('dbpre_subject');$this->db->join('dbpre_subject','s.sid','dbpre_tag_data','td.id','LEFTJOIN');$this->db->select('*');if($post['catid']>0)$this->db->where(...
$this->db->from('dbpre_subject');
$this->db->join('dbpre_subject', 's.sid', 'dbpre_tag_data', 'td.id', 'LEFT JOIN');
$this->db->select('*');
if($post['catid']>0) $this->db->where('pid', $post['catid']);
//$this->db->where_like('name', "%{$post['keyword']}%", 'AND', '(');
//$this->db->where_like('subname', "%{$post['keyword']}%", 'OR' , ')');
$this->db->where_concat_like('name,subname,tagname', "%{$post['keyword']}%");
$this->db->where('status', 1);
//$this->db->order_by($post['ordersort'], $post['ordertype']);
$this->db->order_by(array('finer'=>'DESC','addtime'=>'DESC'));
$this->db->group_by('sid');
return $this->db->get_sql();
需求是:前台输入关键词查询,从subject表中查询name、subname字段,从tag_data表中查询tagname字段,如果这三个字段中的任意一个字段含有这个关键词,则返回对应的值(sid).
现在这个语句的效果是:
如果tagname字段的值存在,则能达到需求的效果;
如果tagname字段的值为空,即使name或者subname字段含有这个关键词,也查询不到。这样就没达到需求。(注:name字段不存在为空的情况)
怎么修改以完全达到需求呢?
展开