执行逻辑如下。
$condition = '';
if($_POST['name']!=''){
$condition = $condition + 'cus.C_name' => $_POST['cname'];
}
if($_POST['cno']!=''){
$condition = $condition + 'cus.C_name' => $_POST['cno'];
}
where子句必须包含
array('cus.C_name' => $_POST['cname'],'cus.C_name' => $_POST['cno'])
如果post变量存在,它将附加到数组。我是怎么做的
答案 0 :(得分:1)
如果我没错,那会对你有帮助..
if($_POST['cname'] != ''){
$this->db->where('cus.C_name', $_POST['cname']);
}
if($_POST['cno'] != ''){
$this->db->where('cus.C_id', $_POST['cno']);
}
并使用$this->model->post()
或$this->model->get()
答案 1 :(得分:1)
你无法生产
array('cus.C_name' => $_POST['cname'],'cus.C_name' => $_POST['cno']);
基本上这个数组会产生
array('cus.C_name' => $_POST['cno']);
因为两个数组键都相同而且它将是一个元素;
您可以按照以下方式执行此操作
if($_POST['name']!='')
{
$this->db->where('cus.C_name',$_POST['cname']);
}
if($_POST['cno']!='')
{
$this->db->where('cus.C_name',$_POST['cno']);
}
这将产生你想要的地方条件。
Becarefull :如果你的名字和cno都不为空,那么它会产生where条件,你会得到空的结果,因为同一列不能同时具有这两个值。
更好地使用$this->input->post('name')
启用CI url
帮助程序而不是$_POST['name']
希望你明白并帮助你。