Я пытаюсь отправить значения из вкладок в базу данных, включая клонированные экземпляры.
В настоящее время каждая запись имеет два языка для текстовой области (вкладки) Английский sh - Испанский sh.
Атрибут name генерируется динамически (например, enInfo, spInfo) в зависимости от доступных языков.
<textarea id="text-info" name='<?php echo $item['langCode'] . 'Info'; ?>'></textarea>
Таблица структурирована следующим образом
id / textID / langID / textInfo
textID
$ textID = $ db-> lastInsertId ();
Используемый код
$stmt = $db->query('SELECT langID,langCode FROM user_langs ORDER BY langName');
$stmt ->execute();
$res = $stmt ->fetchAll();
foreach ($res as $row) {
$textInfo = htmlentities($_POST[$row['langCode'] . 'Info']);
if(!empty($textInfo)) {
$stmt2 = $db->prepare("INSERT INTO text_tr
(textID,langID,textInfo)
VALUES(:textID,:langID,:textInfo)");
$stmt2->execute(array(
"textID" => $textID,
"langID" => $row['langID'],
"textInfo" => $textInfo
));
}
}
Этот код работает нормально для не клонированных форм, но не работает с вкладками и динамически генерируемыми идентификаторами.
Когда я пытаюсь использовать клонированные вкладки, вместо 4 разных описаний, представленных только 2 вставляются в базу данных, 2 раза для каждого языка, те из последней формы, в моем случае вторая форма, клонируются.
First form (EN/SP)
id 16 - auto-increment
textID - 170
langID - 1 (for English)
textInfo - English from Form2 // "enInfo" saved from last form.
id 17 - auto-increment
textID - 170
langID - 5 (for Spanish)
textInfo - Spanish from Form2 // "spInfo" saved from last form.
Second cloned (EN/SP)
id 18 - auto-increment
textID - 171
langID - 1 (for English)
textInfo - English from Form2 // "enInfo" saved from last form.
id 19 - auto-increment
textID - 171
langID - 5 (for Spanish)
textInfo - Spanish from Form2 // "spInfo" saved from last form
Что я надеюсь достичь, это вставить всю информацию в соответствующие поля, как это.
First form (EN/SP)
id 16 - auto-increment
textID - 170
langID - 1 (for English)
textInfo - English from Form1 // "enInfo from first form".
id 17 - auto-increment
textID - 170
langID - 5 (for Spanish)
textInfo - Spanish from Form1 // "spInfo from first form".
Second cloned (EN/SP)
id 18 - auto-increment
textID - 171
langID - 1 (for English)
textInfo - English from Form2 // "enInfo from second cloned form".
id 19 - auto-increment
textID - 171
langID - 5 (for Spanish)
textInfo - Spanish from Tab2 // "spInfo from second cloned form".
and so on.