#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. Да, вам нужно выполнить пустые проверки перед обработкой этого цикла.