次のhtml送信フォームがあります。このフォームは PHP_SELF であり、入力データを配列として $_POST に格納します。
<html>
<body>
<form method="post" action="<?php echo htmlentities($PHP_SELF); ?>">
<fieldset>
<legend>Direct Bill Information:</legend>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" /> </br>
DB #: <input type="int" name="db_num[]" /> DB Amount: <input type="int" name="db_amnt[]" />
</fieldset>
<input type="submit" value="submit" name="submit" />
</form>
</body>
</html>
「db_num」フィールドと「db_amnt」フィールドを持つ MySQL テーブルがあり、配列内のすべての入力データをテーブルに挿入したいと考えています。私は周りを見回しましたが、「内破」が最良の方法のようですが、多くの調査の結果、まだ機能させることができません。PHP 全体が実行され、エラーなしで終了しますが、両方の列の 10 行すべてを表示する代わりに、すべてのエントリの値が 0 の 2 つの列のうち 2 行を表示するだけです。これは私が使用しているコードです:
$sql2 = array();
foreach($_POST as key=>$value)
{
if(key != 'submit')
{
if($value != '')
{
$sql2[] = '("'.mysql_real_escape_string($value['db_num']).'", "'.$value['db_amnt'].'")';
}
}
}
mysql_query('INSERT INTO ' .$tablename_db. '(db_num, db_amnt) VALUES '.implode(',', $sql2));
少しデバッグして、foreach ループで $value をエコーしたところ、3 つの用語しか表示されていないことがわかりました。「配列」、「配列」、および「送信」。さらにチェックすると、送信フォームから値を取得して表示する唯一の方法は、$_POST だけでなく、$_POST[db_num] と $_POST[db_amnt] を介して foreach ループを実行することであることがわかりました。なぜこれを行っているのか、それを修正する方法はよくわかりません。これは PHP での最初のコードであり、学習しながら学んでいます。私が得ることができるどんな助けにも本当に感謝しています!