Я нахожусь в очень сложной ситуации, когда у меня есть страница, на которой можно вводить записи, и есть родительская / дочерняя структура (или записи / вложенные записи, если вы ее называете).Многие записи / подзаписи могут добавляться динамически (строки клонируются и вставляются после следующей строки), когда пользователю нужно добавить больше.
Структура :
<div class="row">
<strong>Parent record:</strong> <input type="text" name="parent-record[]" />
<div class="row">
<strong>Child record:</strong> <input type="text" name="child-record[]" />
</div>
<span class="add-subrecord">Add another sub-record</span>
</div>
<span class="add-record">Add another record</span>
Проблема на стороне PHP, когда у меня 2 цикла for, 1 в цикле for, например:
for($i = 0; $i < count($_POST['parent-record']); $i++)
{
$sql = "INSERT INTO records (input) VALUES ('" . $_POST['parent-record'][$i] . "')";
$result = $db->sql_query($sql);
$parent_id = $db->sql_nextid(); // mysql_insert_id
for($j = 0; $j < count($_POST['child-record']); $j++)
{
$sql = "INSERT INTO records (input, parent) VALUES('" . $_POST['child-record'][$j] . "', '" . $parent_id . "')"; // this will also insert the $parent_id into this record because this record is a child of a parent.
$result = $db->sql_query($sql);
}
}
Однако, когда процесс завершен, у каждого дочернего элемента есть родительский элемент для цикла. первая основная запись, даже когда я добавляю 2-3 основные записи (не дочерние записи), например:
+------+---------+----------+
| id | input | parent |
+------+---------+----------+
| 1 | random | 0 | <- indicates it is a parent
| 2 | random1 | 1 | <- child record, parent is record id: 1
| 3 | random2 | 1 | <- child record, parent is record id: 1
| 4 | random3 | 1 | <- this should be a parent, but it's added as a child
| 5 | random4 | 1 | <- this one too
+------+---------+----------+
Мне нужно какое-то решение, как этобудет работать при создании вложенной формы ввода, в которой все дочерние элементы имеют родительский идентификатор блока записи.