0

В целом нужно передавать в БД сразу несколько строк данных. На уровне 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, но на сделать чтобы они отправлялись структурировано, построчно?

Egomaniac
  • 57
  • 6
  • Как отправляется запрос с клиента? У вас три идентичных формы? Или вы аяксом отправляете? – Anton Shchyrov Aug 26 '20 at 13:41
  • https://ru.stackoverflow.com/questions/764649/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B0-%D0%B2-%D0%B1%D0%B0%D0%B7%D1%83-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-mysql – Bloom Aug 26 '20 at 13:44
  • Вот в этом и вопрос, как лучше? И покажите образ как это должно выглядеть. Думаю Ajax лучше – Egomaniac Aug 26 '20 at 13:54
  • $arr = [ 'visited' => [ 1, 1, 1 ], 'user_id' => [ 20, 30, 30 ], 'dates' => [ '12-12-2015', '12-12-2016', '12-12-2017', ] ];

    echo '

    ';

    foreach ($arr as $key => $value) {

    code...

    echo ''; } echo ''; echo '

    '; echo '
    ';
    – Bloom Aug 26 '20 at 14:00

2 Answers2

0
<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)
             }
         });
    });

KordDEM
  • 940
  • Это я тоже понимаю как сделать. Я не пойму, как оформить ввод данных.
    – Egomaniac Aug 27 '20 at 05:16
0
  1. я бы развернул, чтоб было по строкам: [{"visited":1,"user_id":20,date:"2015-12-12"},{"visited":1,...]
  2. использовал JSON.stringify
  3. на сервере парсил JSON; делал prepared statement; и по циклу биндил и запускал.