Массив значений в POST запрос
В целом нужно передавать в БД сразу несколько строк данных. На уровне PHP, я вроде понял что нужно делать. Но не могу понять как создать образно вот такой POST запрос, чтобы его обработать и передать в БД
$_POST = [
'visited' => [
1,
1,
1
],
'user_id' => [
20,
30,
30
],
'dates' => [
'12-12-2015',
'12-12-2016',
'12-12-2017',
]
];
Видимо нужно как-то в While помещать input'ы, но не знаю как. У меня вопрос именно по вводу данных.
<form action="dob_tool.php" method="post" id="submit1"> <table class="table">
<tr>
<th> Артикул</th><th> Наименование</th><th> Группа товара</th><th> Ед. измерения</th></tr>
<tr>
<th><input type="text" name="code" value="" class="form-control" placeholder="Артикул"></th>
<th><input type="text" name="name" value="" class="form-control" placeholder="Наименование"></th>
<th><input type="text" name="groups" value="" class="form-control" placeholder="Группа товара"></th>
<th><input type="text" name="unit" value="" class="form-control" placeholder="Ед. измерения"></th></tr>
<tr>
<th><input type="text" name="code" value="" class="form-control" placeholder="Артикул"></th>
<th><input type="text" name="name" value="" class="form-control" placeholder="Наименование"></th>
<th><input type="text" name="groups" value="" class="form-control" placeholder="Группа товара"></th>
<th><input type="text" name="unit" value="" class="form-control" placeholder="Ед. измерения"></th></tr>
</table>
</form>
Можно на кнопку в конце поставить clik, чтобы данные отправлялись в AJAX, но на сделать чтобы они отправлялись структурировано, построчно?
Ответы (2 шт):
Автор решения: KordDEM
→ Ссылка
<form action="dob_tool.php" method="post" id="submit1">
<p>Ваше имя: <input type="text" name="name" /></p>
<p>Ваш возраст: <input type="text" name="age" /></p>
<p><input type="submit" /></p>
</form>
$( "form" ).on( "submit", function( event ) {
event.preventDefault();
let param = $( this ).serialize(); // получаем параметры формы
$.ajax({
type: 'POST',
url: 'you_url_to_php_file',
data: JSON.stringify(param), // зашифровываем в json
dataType: 'json',
success: function(msg) {
console.log(msg)
}
});
});
Автор решения: Sergei Kirjanov
→ Ссылка
- я бы развернул, чтоб было по строкам:
[{"visited":1,"user_id":20,date:"2015-12-12"},{"visited":1,...] - использовал
JSON.stringify - на сервере парсил JSON; делал prepared statement; и по циклу биндил и запускал.