@k_advokaty
Начинающий

Как передать массив значений в POST запрос?

Есть вот такая форма запроса.
<form action="1c.php" method="post" id="submit1">
    <div class="row">
        <div class="col-md-6">
            <div class="card">
                <div class="card-body">
                    <div class="form-group">
                        <table class="table">
                            <tr>
                                <th> Артикул</th><th> Наименование</th><th> Группа товара</th><th> Ед. измерения</th></tr>
                            <?For ($i=1; $i<5; $i++){?>
                            <tr>
                                <th><input type="text" name="[<?php echo $i; ?>][code]" value="" class="form-control" placeholder="Артикул"></th>
                                <th><input type="text" name="[<?php echo $i; ?>][name]" value="" class="form-control" placeholder="Наименование"></th>
                                <th><input type="text" name="[<?php echo $i; ?>][groups]" value="" class="form-control" placeholder="Группа товара"></th>
                                <th><input type="text" name="[<?php echo $i; ?>][unit]" value="" class="form-control" placeholder="Ед. измерения"></th></tr>
                                </div>
                            <? }?>
                                </div>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6">
            <div class="form-group">
                <input class="form-control" type="hidden" name="date" value="2019-12-11">
                <button type="submit"  class="btn btn-google btn-lg btn-block" >Добавить</button>
            </div>
        </div>
    </div>
</form>

Как составить POST запрос, чтобы передать данные массива в таблицу БД?
  • Вопрос задан
  • 504 просмотра
Решения вопроса 1
andkorol
@andkorol
Поля формы для массивов должны иметь такой вид:
<th><input type="text" name="code[<?php echo $i; ?>]" value="" class="form-control" placeholder="Артикул"></th>
<th><input type="text" name="name[<?php echo $i; ?>]" value="" class="form-control" placeholder="Наименование"></th>
<th><input type="text" name="groups[<?php echo $i; ?>]" value="" class="form-control" placeholder="Группа товара"></th>
<th><input type="text" name="unit[<?php echo $i; ?>]" value="" class="form-control" placeholder="Ед. измерения"></th></tr>

В результате в 1c.php вы получите в $_POST эти четыре массива с данными:
code
name
groups
unit
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@k_advokaty Автор вопроса
Начинающий
В итоге самый лучший вариант вид массива такой:
<th><input type="text" name="items[<?= $i; ?>][code]" value="" class="form-control" placeholder="Артикул"></th>
<th><input type="text" name="items[<?=$i; ?>][name]" value="" class="form-control" placeholder="Наименование"></th>
<th><input type="text" name="items[<?= $i; ?>][groups]" value="" class="form-control" placeholder="Группа товара"></th>
<th><input type="text" name="items[<?= $i; ?>][unit]" value="" class="form-control" placeholder="Ед. измерения"></th>

Может кому-то понадобится
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы