问题是它显示来自db的所有行,而不是仅显示包含搜索关键字的行:请帮助我.
public function search($data)
{
$name = $data["name"];
$surname = $data["surname"];
$this->db->select('*');
$this->db->from('workers');
$this->db->like('name', '%' . $name . '%');
$this->db->or_like('surname', '%' . $surname . '%');
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)
你写了像查询一样的 CI 错误的方式。看看文档如何正确编写它
您的查询应该是这样的%。无需添加. 如果您不传递类似函数的第三个参数,则 CI 添加它们。
$this->db->select('*');
$this->db->from('workers');
$this->db->like('name', $name);
$this->db->or_like('surname', $surname);
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)
最好使用一些像这样的有效数据。
$this->db->select('*');
$this->db->from('workers');
if($name)
{
$this->db->or_like('name', $name);
}
if($surname)
{
$this->db->or_like('surname', $surname);
}
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)