У меня есть следующее поле ввода:
<input type="text" name="attendee" placeholder="Attendee name">
Событие может иметь несколько участников, поэтому для решения этой проблемы у меня есть button
, которое при нажатии генерирует еще <input type="text" name="attendee" placeholder="Attendee name">
Итак, при нажатии кнопки у меня будет два поля ввода с одинаковым именем:
<input type="text" name="attendee" placeholder="Attendee name">
<input type="text" name="attendee" placeholder="Attendee name">
Теперь я пытаюсь получить данные из этих входов и отправить их в свою таблицу, которая хранит данные типа varchar
. Конечно, пользователь может нажать кнопку «Добавить» несколько раз (так что на странице семь входов). Поэтому я не могу создавать столбцы в своей таблице для каждого имени участника.
Итак, чтобы противостоять этому, я пытаюсь получить все значения из input['name=attendee']
и объединить их в одну строку и эти будут разделены запятой.
Например, если у меня есть два текстовых поля:
- Первое текстовое поле имеет значение
Freddy
- Второе текстовое поле имеет значение
Roach
... Они будут объединены в Freddy, Roach
, и это строка, которая будет отправлена в таблицу.
Я не могу сделать что-то вроде:
$complete_string = $attendee_one."," .$attendee_two;
Поскольку, как я уже упоминал, пользователь может сгенерировать несколько входных данных с помощью нажатия кнопки.
Демонстрация формы:
$('.add').on('click', add);
function add() {
var new_chq_no = parseInt($('#total_chq').val()) + 1;
var new_input = "<input type='text' placeholder='Attendee name' name='attendee[]' id='new_" + new_chq_no + "'>";
$('#new_chq').append(new_input);
$('#total_chq').val(new_chq_no);
}
#new_chq{
display: flex;
flex-direction: column;
}
input{
margin: 10px 0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<fieldset>
<div id="new_chq">
<input type="text" name="attendee[]" placeholder="Attendee name">
<input type="hidden" value="1" id="total_chq">
</div>
<button class="add action-button" type="button">+</button>
</fieldset>
</form>
Как я получаю данные формы в PHP
$attendees = $_POST['attendee[]'];
Что я хочу сделать (псевдо):
INSERT INTO table_name ('members') VALUES ('$ members');