ホームページ > バックエンド開発 > PHPチュートリアル > 初心者さん、PHPでPOST値を一括取得してデータベースに保存する方法を教えてください!

初心者さん、PHPでPOST値を一括取得してデータベースに保存する方法を教えてください!

WBOY
リリース: 2016-06-23 14:00:39
オリジナル
1486 人が閲覧しました

$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階で試してみましたが、うまくいきました。しかし、両者に何が違うのか、どちらが優れているのかはわかりません。

最初のケースでは、psot がデータベースにないキーを渡すと、エラーが報告されます

私が言ったのは、フィールドのフィルタリングを行うことだけです
毎回すべてのフィールドを挿入しない場合は、この方法を使用できます

2 番目のケースでは、各フィールドに値があるかどうかを確認します
毎回すべてのフィールドを挿入する場合は、このディストリビューションを使用できます

それぞれには、ユーザーの使用方法によって異なります

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート