搜索一个单词,就像我在codeigniter中的文本框中给出的不完全一样

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索一个单词,就像我在codeigniter中的文本框中给出的不完全一样相关的知识,希望对你有一定的参考价值。

我使用codeigniter中的模型从我的数据库中搜索一个单词。我完成了搜索确切的单词搜索。但是当我给出部分词语时,我还需要找到一个词。我使用LIKE子句搜索一个单词。但我不知道如何在我的模型函数中使用LIKE%子句。

模型:

public function get_search() {
  $match = $this->input->post("search");
  $match1 = $this->input->post("search1");
  $match2 = $this->input->post("search2");
  $match3 = $this->input->post("search3");
  $match4 = $this->input->post("search4");
  $match5 = $this->input->post("search5");
  $match6 = $this->input->post("search6");
  $this->db->query("SELECT * FROM patient_creation;");
  $this->db->where("patient_id like '$match' OR mobile like '$match1' OR name like '$match2' OR fathername like '$match3' OR address like '$match4' OR created BETWEEN '$match5' AND '$match6'");
  //$this->db->or_where("name LIKE '".$match2."%'"); 
  $query = $this->db->get("patient_creation");
  return $query->result();
}

我需要LIKE%搜索$ match2,$ match3和$ match4变量。

答案

变化:

$this->db->where("patient_id like '$match' OR mobile like '$match1' OR name like '$match2' OR fathername like '$match3' OR address like '$match4' OR created BETWEEN '$match5' AND '$match6'");

$this->db->where("patient_id like '".$match."' OR mobile like '".$match1."' OR name like '".$match2."' OR fathername like '".$match3."%' OR address like '".$match4."%' OR created BETWEEN '".$match5."' AND '".$match6."'");
另一答案

注意SELECT * FROM patient_creation;中的分号准备查询字符串并在查询函数中使用,如,

$query = "SELECT * FROM patient_creation where patient_id like '$match' OR mobile like '$match1' OR name like '$match2' OR fathername like '$match3' OR address like '$match4' OR created BETWEEN '$match5' AND '$match6'";

$this->db->query($query);
另一答案
public function get_search() {
  $match = $this->input->post("search");
  $match1 = $this->input->post("search1");
  $match2 = $this->input->post("search2");
  $match3 = $this->input->post("search3");
  $match4 = $this->input->post("search4");
  $match5 = $this->input->post("search5");
  $match6 = $this->input->post("search6");
  $this->db->select("*");
  $this->db->like("patient_id" ,$match);
  $this->db->or_like("name" ,$match2);
  $this->db->or_like("fathername" ,$match3);
  $this->db->or_like("address" ,$match4);
  $this->db->or_like("name" ,$match2);
  $this->db->where('created  >=', $match5);
  $this->db->where('created  <=', $match6);
  $query = $this->db->get("patient_creation");
  return $query->result();
 }

以上是关于搜索一个单词,就像我在codeigniter中的文本框中给出的不完全一样的主要内容,如果未能解决你的问题,请参考以下文章

如何动态地将 id 提供给我的输入字段,就像我在 vue js html 中的音译 id 一样?

我的主页总是呈现在所有其他页面之上,就像我在登录时一样,我的主页数据首先呈现为单页中的 2 页

如何在 Codeigniter 上隐藏 URL 字符串中的数据

codeigniter中的搜索框提供空白数据

CodeIgniter + Smarty - 是不是相关?

表达式引擎控制器