$data=array();
$data['a']=in($_POST['a']);
$data['b']=in($_POST['b']);データ['c']=in($_POST['c]);
$data['d']=in($_POST['d']);
$data['aa']=in($_POST) ['aa']);
$data['a1']=in($_POST['a1']);
......ここでは省略
モデル ('xitong') ->update("id=1",$data);
上記は通常データベースを更新する PHP コードです
ただし、現在発生している問題は、ニーズを満たすために、このテーブルには 50 を超えるフィールドがあります。そして、それを
$data['a']=in($_POST['a']); のように 1 行ずつ入力すると、非常に非科学的に感じられます。
フィールド名に基づいて投稿値をバッチで取得し、それらをまとめてデータベースに更新することは可能ですか?
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]); }}
これは理解しています、
しかし、あなたが回答した他の方法を2階で試してみましたが、うまくいきました。しかし、両者に何が違うのか、どちらが優れているのかはわかりません。
私が言ったのは、フィールドのフィルタリングを行うことだけです
毎回すべてのフィールドを挿入しない場合は、この方法を使用できます
2 番目のケースでは、各フィールドに値があるかどうかを確認します
毎回すべてのフィールドを挿入する場合は、このディストリビューションを使用できます
それぞれには、ユーザーの使用方法によって異なります
。