$data=array();
$data['a']=in($_POST['a']);
$data['b']=in($_POST['b']);
$data['c']=in($_POST['c]);
$data['d']=in($_POST['d']);
$data['aa']=in($_POST['aa']);
$data['a1']=in($_POST['a1']);
..................这里省略
model('xitong')->update("id=1",$data);
上面是一段正常更新数据库的PHP代码
但是,目前所遇到的问题是,为了需要,这个表里面的字段多达50多个。而像
$data['a']=in($_POST['a']);这样格式一行一行输入的话,感觉很不科学。
能不能做到按照字段名称批量获取post值并一同更新到数据库?
foreach($_POST as $key => $val){ //最好加上逻辑 过滤不是字段的 key $data[$key] = in($val);}
foreach($_POST as $key => $val){ //最好加上逻辑 过滤不是字段的 key $data[$key] = in($val);}
$fields = array('a','b','c','d');//你的字段foreach($fields as $val){ if(!empty($_POST[$val])){ $data[$val] = in($_POST[$val]); }}
$fields = array('a','b','c','d');//你的字段foreach($fields as $val){ if(!empty($_POST[$val])){ $data[$val] = in($_POST[$val]); }}
第一种的话 如果 psot传了一个 数据库 没有的key 就会报错呀
所有我说要做字段过滤
如果不是 每次都是 插入 所有字段的话可以用这种方法
第二种的话 检查了每个字段都是不是有值
如果每次都是插入所有字段可以使用这种发放
各有各的好处 看使用的人 怎么用