Mysql
 sql >> Base de données >  >> RDS >> Mysql

Boucle à travers les tableaux d'entrée de formulaire en php

La bonne solution dépendra si vous prévoyez de stocker des valeurs scalaires sous $_POST['invoice']['new_item_attributes'] ou si vous prévoyez d'en faire un tableau de tableaux (en d'autres termes, vous prévoyez d'avoir des multiples de new_item_attributes .

Si vous prévoyez uniquement de stocker des valeurs scalaires, vous devrez d'abord modifier chacun des éléments du formulaire pour qu'il ressemble à ceci :

name="inovoice[new_item_attributes][description]"

Vous remarquerez que le [] vide a disparu.

Et puis votre boucle devrait ressembler à ceci :

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

Sinon, vous devrez utiliser ceci dans votre code PHP :

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

Ou :

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