Это довольно сложным вопрос, но есть некоторые довольно простые решения. Во-первых, вам нужно будет изменить внутренний PHP-скрипт, который вы используете для обработки переменной количества элементов.
Например, прямо сейчас, вы, вероятно, что-то вроде:
$item_number = $_POST['item_number'];
$item_description = $_POST['item_description'];
add_item_to_db($item_number, $item_description);
Вам нужно изменить свой код для обработки обработки массива элементов:
$item_numbers = $_POST['item_number'];
$item_descriptions = $_POST['item_description'];
// validate that count($item_numbers) == count($item_descriptions)
for ($i = 0; $i < count($item_numbers); $i++) {
add_item_to_db($item_numbers[$i], $item_descriptions[$i]);
}
Там довольно немного обработки ошибок, которые вам нужно выполнить выше, что не показано. Если пользователь вводит другое число item_numbers, чем item_descriptions, вам нужно будет определить, как его обрабатывать. Кроме того, любое из полей может быть пустым. В некоторых случаях могут быть ошибки, другие - нет.
Вы должны изменить свой HTML:
<input type="text" name="item_number[]" />
<input type="text" name="item_description[]" />
Обратите внимание на [] в названии. Это задает массив значений для каждого.
Наконец, вам нужно динамически добавлять новый набор из ввода объектов на экране, когда пользователь нажимает Добавить другой пункт ссылки. Я бы рекомендовал использовать jQuery для этого. Для достижения этой цели вы могли бы сделать что-то вроде:
jQuery('<input type="text" name="item_number[]" /><input type="text" name="item_description[]" />').appendTo('#someDiv');
Убедитесь, что новый вход элементов добавляются внутри элемента формы. Очевидно, что осталось много кода для написания. Это всего лишь базовый пример концепций.
Ваш код? можете ли вы опубликовать его на jsfiddle? –
Создание дополнительных столбцов в вашем db? Вы, конечно, делаете что-то не так, ищете некоторые «нормализации базы данных». –
@MehdiKaramosly Отредактировано мое сообщение – Alex