【发布时间】:2017-05-15 08:42:16
【问题描述】:
我正在尝试为我的网站实现搜索框。在我的用户帐户表中,我将帐户分为三个,即房主、管理员和停用的用户。我希望搜索功能能够跨多个列进行搜索(按用户名、名字、姓氏、地址、名字和姓氏的组合搜索)。但是在我的模型中,我的 WHERE 子句似乎被忽略了。在我的 search_homeowner 函数中,我将结果限制为仅显示房主,但我得到的结果显示的是管理员。我似乎无法拥有多个 LIKE,所以我尝试或喜欢。这是代码。
型号:
function search_homeowner($searchquery) {
$this->db->select('*')->from('accounts')->where('role', 0)-> where('isActive', 1);
$this->db->like('firstname',$searchquery,'after');
$this->db->or_like('lastname',$searchquery,'after');
$this->db->or_like('username',$searchquery,'after');
$this->db->or_like('address',$searchquery,'after');
$query = $this->db->get();
if($query->num_rows() > 0) {
return $query->result();
} else {
return $query->result();
}
}
控制器:
function search_homeowner() {
$this->load->model('model_accounts');
$searchquery = $this->input->post('search');
if(isset($searchquery) and !empty($searchquery)) {
$data['users'] = $this->model_accounts->search_homeowner($searchquery);
$data['main_content'] = 'view_adminaccounts';
$data['homeownerlinks']='';
$this->load->view('includes/admin_accounts_template', $data);
} else {
redirect('admin_accounts/homeowner');
}
}
【问题讨论】:
标签: php mysql sql codeigniter