Как правильно обновить БД с помощью формы выведенной в цикле?
Возможно не верно задал вопрос, опишу суть проблемы.
Есть страница на которой с помощью form собираю данные участников. Всего один пользователь может создать три формы , т.е. трех участников команды. На странице первоначально одна форма для заполнения, заполнили нажали сохранить, форма отправляет в БД данные записываются, страница обновляется и эта форма уже заполнена, т.е. автозаполнение value беру с базы данных через $row = $results->fetchAll(\PDO::FETCH_ASSOC);.
Форму данных заключил в функцию data(); и вызываю ее в цикле for ($i = 0; $i <= $number_user; $i++). Для формы и всех ее полей ставлю идентификатор id= "<?php if (isset($i)) {echo $i;} ?>"
Добавление новых форм и запись их в БД проходит нормально.
А вот чтобы обновить например вторую форму, то происходит следующее, при обновлении второй формы (изменении в ней данных) и нажатию кнопки обновить, происходит обновление последней формы . Если первую обновляешь, то во второй обновляются данные как было в первой, а в последней как поменял в первой. В общем происходит что-то странное)))
Сохранение и обновление , весь код на одной странице.
Для сохранения if (isset($_POST['save'])&& и т.д.
Для обновления if (isset($_POST['update'])&&isset($_POST['id'])&& и т.д.
Я думаю нужно сделать ajax вынести update в другой фал, собирать value с конкретной формы.
Но я не могу сделать js, как при нажатии на кнопку взять именное те поля где id= "<?php if (isset($i)) {echo $i;} ?>"
Ждать отправки данных + получения ответа счиатется «долго», поэтому может лучше дать все заполнить (1-2-3 формы) и только потом отправить все один раз?
На фронте форма, заполнил, нажал "Добавить еще игрока" — сразу рисуется еще форма, тоже заполняется. "Добавиьт еще игрока" или "отправить заявку". Последняя отправляет данные всех заполненных форм, что-то типа массива
Ну и нужно уметь отрисовывать заполненные формы из такого же массива, только добавтяся, видимо, id сохраненных записей каждого участника, и может, id всей "команды".
каждому участнику свой уникальный id, выборка участников из команд с помощью [team], форма для каждого участника в команде выводиться по [number_user]
Я думал сделать одну формы и просто добавлять группу полей нужных участников, и ее же корректировать одной кнопкой, но так мне показалось сложней, надо на выходе из формы массив собрать. А как его собирать, используя динамические поля в форме.
В общем и целом проблемы ясна.Не ясно как реализовано.
Но обычно на каждый уникальный элемент отдельная форма.В форме в скрытом поле передается ID сущности, которая будет изменяться.
Обработка форм может выполняться по-разному - стандартно, отправкой,или посредством ajax-запроса.
В комментариях советовали посылать одной формой, нужно только копировать шаблон ввода одного персонажа. Примерно так
Основной смысл - шаблоном будут поля ввода первого участника, после копировании шаблона нужно подменить все атрибуты name новых элементов, добавив +1 в индекс имен.
На стороне php просто пробежаться по массивам name, lastname и age и раскидать кого куда надо.