问题是它显示来自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();
你像查询错误的方式编写CI.查看
documentation如何正确编写它
您的查询应该是这样的.不需要添加%.如果你没有传递类似函数的第3个参数,CI会添加它们.
$this->db->select('*'); $this->db->from('workers'); $this->db->like('name',$name); $this->db->or_like('surname',$surname); $query = $this->db->get();
最好使用这样的一些有效数据.
$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();