Обработка динамической формы

allforweb

Новичок
Подскажите алгоритм обработки динамически созданной формы. Генерируется неопределенное количество элементов каждый из которых имеет уникальный идентификатор.
Как оптимально обработать POST и сделать запись в БД?

Примерное содержание формы следующее:
-- Название
-- Описание
-- Диманические элементы в разном количестве на разных документах. Их может быть 5, 10 или 15, но каждый элемент имеет свой уникальный ID и свое поле в таблице БД.
 

AmdY

Пью пиво
Команда форума
PHP:
name="title[]" name="description[]"
name="title[]" name="description[]"

foreach($_POST['title'] AS $k => $v) {
$db->prepare('INSERT INTO tableName SET title = ?, description = ? ')
->execute(array( $_POST['title'][$k],  $_POST['description'][$k]));
}
 

allforweb

Новичок
А как же получить идентификаторы каждого элемента формы, чтобы занести в БД? Получается каждый элемент нужно заносить отдельно? Если элементов на странице 5 и каждый имеет по 3 разных разных input?
 

tf

крылья рулят
проблма только одна
обрабатывать форму (генерить|принимать данные в php скрипте) таким же образом как и генерится эта динамическаф форма на странице
 

Avron2

Новичок
А как же получить идентификаторы каждого элемента формы, чтобы занести в БД? Получается каждый элемент нужно заносить отдельно? Если элементов на странице 5 и каждый имеет по 3 разных разных input?
Каждый input передается на сервер в виде пары input.name => input.value. Работать с этими данными нужно через массив $_POST[input.name] = input.value (или $_GET, но в данном случае целесообразнее отправлять данные методом $_POST)
PHP:
<input type="text" name="name1" value="text1" />
<input type="text" name="name2" value="text2" />
<input type="text" name="name3" value="text3" />
При отправке этой формы на сервер, массив пост будет выглядеть следующим образом:
PHP:
$_POST['name1'] = 'text1'
$_POST['name2'] = 'text2'
$_POST['name3'] = 'text3'
Дейсвительно, каждый элемент формы - это элемент новый элемент ассоциативного массива $_POST

А если форма выглядит, как написал Amdy, то выглядит все так:
PHP:
<input type="text" name="name[]" value="text1" />
<input type="text" name="name[]" value="text2" />
<input type="text" name="name[]" value="text3" />
При отправке этой формы на сервер, массив пост будет выглядеть следующим образом:
PHP:
$_POST['name'][0] = 'text1'
$_POST['name'][1] = 'text2'
$_POST['name'][2] = 'text3'
 
Сверху