можно сделать код более понятным. В этих данных корзины покупок, как вставить в базу данных, он работает хорошо, но ограниченный и огромный код, который может сократить? Я ставлю, что этот код будет более сложным 5 $ x ++, как сделать умный и короткий код делать больше функций.php form submit to sql while loop
$ina_1 = $_POST['item_name_1']; $iq_1 = $_POST['quantity_1']; $ipr_1 = $_POST['amount_1'];$qp_1= $iq_1*$ipr_1;
$ina_2 = $_POST['item_name_2']; $iq_2 = $_POST['quantity_2']; $ipr_2 = $_POST['amount_2'];$qp_2= $iq_2*$ipr_2;
$ina_3 = $_POST['item_name_3']; $iq_3 = $_POST['quantity_3']; $ipr_3 = $_POST['amount_3'];$qp_3= $iq_3*$ipr_3;
$ina_4 = $_POST['item_name_4']; $iq_4 = $_POST['quantity_4']; $ipr_4 = $_POST['amount_4'];$qp_4= $iq_4*$ipr_4;
$ina_5 = $_POST['item_name_5']; $iq_5 = $_POST['quantity_5']; $ipr_5 = $_POST['amount_5'];$qp_5= $iq_5*$ipr_5;
$shipping = $_POST['shipping'];
$tprice = $qp_1+$qp_2+$qp_3+$qp_4+$qp_5+$qp_6+$qp_7+$qp_8+$qp_9+$shipping;
if(empty($idu)){
$guestid = rand(111111,999999);
}
$orderid = rand(111111,999999);
preg_match_all('!\d+!', $ina_1, $matches); $look1= $matches[0]; $sl_1 = $look1[0];
preg_match_all('!\d+!', $ina_2, $matches); $look2= $matches[0]; $sl_2 = $look2[0];
preg_match_all('!\d+!', $ina_3, $matches); $look3= $matches[0]; $sl_3 = $look3[0];
preg_match_all('!\d+!', $ina_4, $matches); $look4= $matches[0]; $sl_4 = $look4[0];
preg_match_all('!\d+!', $ina_5, $matches); $look5= $matches[0]; $sl_5 = $look5[0];
mysql_query("INSERT INTO d_order
(`userid`,`orderid`,`sellerid`,`item`,`quantity`,`amount`,`total`,`tprice`,`date`,`status`)
VALUES ('$idu','$orderid','$sl_1','$ina_1','$iq_1','$ipr_1','$qp_1','$tprice','$now','0')") or die(mysql_error());
if(!empty($ina_2)){
mysql_query("INSERT INTO d_order
(`userid`,`orderid`,`sellerid`,`item`,`quantity`,`amount`,`total`,`tprice`,`date`,`status`)
VALUES ('$idu','$orderid','$sl_2','$ina_2','$iq_2','$ipr_2','$qp_2','$tprice','$now','0')") or die(mysql_error());
}
if(!empty($ina_3)){
mysql_query("INSERT INTO d_order
(`userid`,`orderid`,`sellerid`,`item`,`quantity`,`amount`,`total`,`tprice`,`date`,`status`)
VALUES ('$idu','$orderid','$sl_3','$ina_3','$iq_3','$ipr_3','$qp_3','$tprice','$now','0')") or die(mysql_error());
}
if(!empty($ina_4)){
mysql_query("INSERT INTO d_order
(`userid`,`orderid`,`sellerid`,`item`,`quantity`,`amount`,`total`,`tprice`,`date`,`status`)
VALUES ('$idu','$orderid','$sl_4','$ina_4','$iq_4','$ipr_4','$qp_4','$tprice','$now','0')") or die(mysql_error());
}
if(!empty($ina_5)){
mysql_query("INSERT INTO d_order
(`userid`,`orderid`,`sellerid`,`item`,`quantity`,`amount`,`total`,`tprice`,`date`,`status`)
VALUES ('$idu','$orderid','$sl_5','$ina_5','$iq_5','$ipr_5','$qp_5','$tprice','$now','0')") or die(mysql_error());
}
все, что вам нужно знать, это максимально возможное количество элементов, а затем использовать переменную для цикла от 1 до x, например. вместо $ _POST ['item_name_5'] используйте $ _POST ['item_name _'. $ x] в цикле. Или, лучше, ваши значения представлены в виде массивов, которые вы можете пропустить. В стороне, вы рискуете дублировать идентификаторы заказов, генерируя их случайным образом - почему бы не использовать последовательность базы данных для отслеживания идентификаторов заказов? –