php - 在同一查询中使用 like、or、match 的 codeigniter 事件记录

标签 php mysql sql codeigniter activerecord

我已经陷入这个阶段一个小时了。

我的目的是使用表 tag_name 进行搜索,如果在 tag_name 中给出 no_result 我想使用具有类似条件的产品名称表。或者我可以从两者中获取结果条件如上。

感谢大家的善意:

function search_products($searchStr)
{ 
    $this->db->select('a.*, b.,c.*,c.id as id_product',FALSE); 
    $this->db->from('tags_events a ',FALSE); 
    $this->db->join('products b','a.product_id = b.id ',FALSE); 
    $this->db->join('products_details c', 'b.id = c.product_id', 'left'); 
    $this->db->where("MATCH (tag_name) AGAINST ('{$searchStr}')OR b.product_name LIKE '%$searchStr%' ", NULL, FALSE); 
    $this->db->group_by("b.product_name"); 
    $query=$this->db->get(); 
    return $query;
} 

最佳答案

我认为如果你使用mysql模式匹配,你的问题就会解决

MySQL 提供标准 SQL 模式匹配以及基于扩展正则表达式的模式匹配形式,类似于 Unix 实用程序(例如 vi、grep 和 sed)所使用的模式匹配。

如果您需要详细解释,可以访问此链接:http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html

关于php - 在同一查询中使用 like、or、match 的 codeigniter 事件记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454919/

相关文章:

javascript - 在 div 而不是输入/文本区域时无法通过 POST 发送内容

javascript - 如何动态添加选择框,从数据库中检索数据

mysql - 如何将 mysql 慢查询日志解析成有用的东西?

mysql - 从文本字符串中删除网址

MySQL:使用另一个表中的值作为列别名?

php - 即使行数据未更改也更新 MySQL 时间戳

php - php 可以检测 4 字节编码的 utf8 字符吗?

php - 如何从 php/mysql 发布特定的 json 数据而不是所有数据

php - 我无法将 SQL 数据库导入 EasyPHP

SQL order and limit then order the limited 结果