您好,
我正在使用codeigniter,该页面只是更新信息 一个用户。如果用户转到该页面并编辑值和该帖子 来为“”或空(相同)然后没有更新它让查询通过 它,我有一个逻辑,但它有点难看和生病需要很多时间。
$nome = "'nome' =>" . $this->input->post('nome') . "'";
$sobrenome = "'sobrenome' =>" . $this->input->post('sobrenome') . "'";
if($nome != ""){
$nome = "'nome' =>" . $this->input->post('nome') . "'";
}else{
$nome = "";
}
if($sobrenome != ""){
$sobrenome = "'sobrenome' =>" . $this->input->post('sobrenome') . "'";
}else{
$sobrenome = "";
} $data = array($nome, $sobrenome);
问题是,我有很多领域:(
如果有人知道聪明的方式或更好的方式,请知道
答案 0 :(得分:1)
创建一个数组并使用三元运算符
$data = array(
'nome' => strlen($this->input->post('nome'))>0 ? $this->input->post('nome') : NULL,
'sobrenome' => strlen($this->input->post('sobrenome'))>0 ? $this->input->post('sobrenome') : NULL,
);
如果要从数组中删除NULL
值,请添加$data = array_filter($data);
您不需要为$nome
和$sobrenome
定义单个变量。您可以使用$data['nome']
和$data['sobrenome']
获取这些值。