Вставка в базу данных из клонированных вкладок - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь отправить значения из вкладок в базу данных, включая клонированные экземпляры.

В настоящее время каждая запись имеет два языка для текстовой области (вкладки) Английский 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...