Как вставить несколько `product` с несколькими другими переменными в форму заказа на покупку

#php #mysql #arrays #mysqli

#php #mysql #массивы #mysqli

Вопрос:

У меня есть 10 строк следующего кода в моей форме заказа на покупку. Где пользователь добавляет значение вручную

 <input type="text" name="name[]" />
<input type="text" name="code[]" />
<input type="text" name="rate[]" />
<input type="text" name="tax[]" />
<input type="text" name="amount[]" />
  

В некоторых случаях, если заказ на покупку предназначен только для 3 позиций, остальные 7 строк будут пустыми. Итак, как я могу создать запрос на вставку, чтобы добавить только заполненное значение ячейки в таблицу Product_purchased в соответствии со значениями их соответствующих строк.

 $name = $_POST['name'];
$code = $_POST['code'];

foreach( $name as $names ) {
print $names ;
}
  

Приведенный выше код объединит все имена, но я хочу, чтобы в нем были значения строк, массив типа

 array ("name" => Product 1, "code" => P30, "rate" => 1000, "tax" => 12, "amount" => 1120)
  

а затем отправить его в запросе Insert.

Ответ №1:

 $output = [];
  for($i=0;$i<count($name);$i  ){
      $data['name'] = $name[$i];
      $data['code'] = $code[$i];
      ...

      $output[] = $data;
  }
  

Создайте массив, повторите все массивы и нажмите.

$output будет иметь несколько массивов всех продуктов. цикл $output для выполнения вставки в базу данных.

Комментарии:

1. Будет ли он игнорировать пустые входные значения или мне нужно добавить if(empty($_POST($name))) если да, то как добавить его в приведенный выше цикл.

2. Да, вам нужно выполнить пустые проверки перед обработкой этого цикла.