ネストされた foreach を使用して入力フィールドの配列を挿入しようとしました。1 つのフィールドに 1 つの値を指定すると正常に動作しますが、複数のフィールドを指定すると、挿入操作が 8 回繰り返されます。
PHP:
if ($_POST['fields']) {
//get last inserted userid
$inserted_user_id =mysql_insert_id();
//Loop through added fields
foreach ( $_POST['fields'] as $key=>$value ) {
foreach ( $_POST['fields1'] as $key=>$value1 ) {
foreach ( $_POST['fields2'] as $key=>$value2 ) {
foreach ( $_POST['fields3'] as $key=>$value3 ) {
$inserted_website_id = 1;
//Insert into users_websites_link table
$sql_users_website = sprintf("INSERT INTO users_websites_link
(UserID, CameraID,make, model ,serial,description2) VALUES
('%s','%s','%s','%s','%s','%s')",
mysql_real_escape_string($inserted_user_id),
mysql_real_escape_string($inserted_website_id),
mysql_real_escape_string($value),
mysql_real_escape_string($value1),
mysql_real_escape_string($value2),
mysql_real_escape_string($value3) );
$result_users_website = mysql_query($sql_users_website);
}
}
}
}
}
else {
//No additional fields added by user
}
入力:
1.Make:cam モデル:mac シリアル:rak 2.Make:cam モデル:mac シリアル:dam
しかし、得られた結果は