【问题标题】:Codeigniter auto-update search with %LIKE%使用 %LIKE% 的 Codeigniter 自动更新搜索
【发布时间】:2015-07-08 07:23:41
【问题描述】:

我是 Codeigniter 的新手。我已经使用简单的 mysql 完成了自动建议搜索,但没有使用 codeigniter 的活动记录。这让我很困惑。

我的mysql格式是:

$s = $_POST['s'];
$search_result = explode(' ', $s);

$query_temp = '';
$i=0;
foreach($search_result as $search){
$i++;
if($i == 1){
$query_temp .= "title LIKE '%$search%' OR description LIKE '%$search%' OR keywords LIKE '%$search%' OR link LIKE '%$search%'";
}else{
$query_temp .= "OR title LIKE '%$search%' OR description LIKE '%$search%' OR keywords LIKE '%$search%' OR link LIKE '%$search%'";
}
}

$search_query = mysql_real_escape_string(htmlentities($_POST['s']));
$run = mysql_query("SELECT * FROM search WHERE $query_temp")or die(mysql_error());

但在这里我必须从 3 个表中搜索。我不知道如何在 codeigniter 中以这种格式做到这一点..

【问题讨论】:

  • 三表或同表三列
  • 三个独立表格的三列。

标签: php mysql codeigniter search


【解决方案1】:

如果字段'title'属于表'a', 字段“描述”属于表“b” 并且字段“关键字”属于表“c”,那么您可以像这样使用:

$this->db->select('*');
$this->db->from('a, b, c');
$this->db->like(a.title, $search);
$this->db->or_like(b.description, $search);
$this->db->or_like(c.keywords, $search);
$query = $this->db->get();

【讨论】:

  • 我必须将这些 likeor_like 放在 foreach 循环中。正确的?和selectfrom$query 在循环之外?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
相关资源
最近更新 更多