【问题标题】:Codeigniter Search with spaces带空格的 Codeigniter 搜索
【发布时间】:2014-04-05 03:33:02
【问题描述】:

我有一个搜索功能,可以在数据库中搜索用户。

模型是这样的

public function search_user_details($conditions){
$search = $conditions["search"];


$this->db->like('username', $search);
$this->db->or_like('first_name', $search);
$this->db->or_like('last_name', $search);
$this->db->from($this->user_table);
$this->db->select("id, first_name, last_name, username, password, email, bio, country,     avatar, cover, notes_check, verified, private, POST_SCORE, COMMENT_SCORE");
$this->db->limit(200);
$query= $this->db->get();

results = $query->result_array();
return $results;
}

例如,用户具有以下详细信息:first_name = Fran,last_name= Allison,username = fran。

如果我搜索其中任何一个,就会返回她的详细信息:fran, allison。 如果我搜索:“Fran Allison”,则不会返回任何内容。 例如 $conditions["search"] ="Fran Allsion"

有什么想法吗?

谢谢

【问题讨论】:

  • 传递给模型的数组
  • 用户名包含什么??
  • 我已经更新了问题

标签: mysql codeigniter sql-like


【解决方案1】:
public function search_user_details($conditions) {
     $search = $conditions["search"];

     $first = $search;
     $last = $search;

     // If the search contains a space, separate the two words.
     if(preg_match('/\s/', $search))
     {
          $name = explode(" ", $search);
          $first = $name[0];
          $last = $name[1];
     }

     $this->db->like('username', $search);
     $this->db->or_like('first_name', $first);
     $this->db->or_like('last_name', $last);

     // This is in case they search Lastname first. 
     $this->db->or_like('first_name', $last);
     $this->db->or_like('last_name', $first);

     $this->db->from($this->user_table);
     $this->db->select("id, first_name, last_name, username, password, email, bio, country,     avatar,      cover, notes_check, verified, private, POST_SCORE, COMMENT_SCORE");
     $this->db->limit(200);
     $query= $this->db->get();

     results = $query->result_array();
     return $results;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多