javascript — заполнить несколько раз содержимое одних и тех же полей формы и записать его в несколько строк базы данных

Я построил форму. Я поместил кнопку внутри этой формы под названием «Добавить книгу». Когда пользователь нажимает два поля, появляются: «bookname» и «bookdate»:

               <div class="form-group col-md-3">
<a class="btn btn-success" onclick="add()" href="#">
<i class="glyphicon glyphicon-plus icon-white"></i>Add a book
</a>
</div>


<div id="wrapper">
<!-- champs du formulaire -->
<div class="form-group col-md-12" id="add" style="display:none;">
<!-- Bookname -->
<div class="form-row">
<div class="form-group col-md-3">
<label for="exampleInputPassword1">Name of book</label>
<input type="text" class="form-control" id="bookname" name="bookname">
</div>
</div>
<!-- Bookdate -->
<div class="form-row">
<div class="form-group col-md-3">
<label for="exampleInputPassword1">Date of book</label>
<input type="text" class="form-control" id="bookdate" name="bookdate">
</div>
</div>
</div>
</div>

Когда есть только одна книга, нет проблем с проверкой формы и записью «bookname» и «bookdate» в базу данных проекта. Это очень распространено.
Мой вопрос: например, если пользователь нажимает 3 раза на кнопку «добавить книгу» и 3 раза заполняет поля «имя книги» и «bookdate», как я могу сделать это в коде, чтобы сохранить все это в трех разных строках в база данных ?
То есть:
название книги
имя1 дата1
имя2 дата2
имя3 дата3

Я не понимаю, как я мог сделать?
Любая помощь будет принята с благодарностью.
Спасибо !

0

Решение

Вам нужно изменить атрибут имени на вашем bookname а также bookdate входные данные для обозначения массива, т.е.

<input type="text" class="form-control" id="bookname" name="bookname[]">
<input type="text" class="form-control" id="bookdate" name="bookdate[]">

Затем в своем PHP-коде вы обнаружите, что $_POST['bookname'] а также $_POST['bookdate'] теперь это массивы значений, так что вы можете перебирать их, например,

foreach ($_POST['bookname'] as $k => $bookname) {
$bookdate = $_POST['bookdate'][$k];
// write bookname and bookdate to database
...
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector