sql >> データベース >  >> RDS >> Mysql

PHPのフォーム入力配列をループします

    正しい解決策は、$ _ POST ['invoice'] ['new_item_attributes']の下にスカラー値を格納する予定か、それとも配列の配列にする予定か(つまり、new_item_attributesの倍数にする予定か)によって異なります。 。

    スカラー値の保存のみを計画している場合は、最初に各フォーム要素を次のように変更する必要があります。

    name="inovoice[new_item_attributes][description]"
    

    空の[]がなくなっていることに気付くでしょう。

    そして、ループは次のようになります。

    foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
        $data = array('description => $value);
    }
    

    それ以外の場合は、PHPコードでこれを使用する必要があります:

    foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
             $data = array('description' => $val['description']);
    }
    

    または:

    foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
         foreach($val as $sub => $value) {
             $data = array($sub => $value);
         }
    }
    


    1. PHP、MySQL:メールの受信、DBでの自動検索、結果に基づくメールの送信

    2. MyIsamエンジントランザクションのサポート

    3. MySQLで関連レコードを削除する

    4. PostgreSqlデータベースのエンコーディングを変更する