Mam dwie tabele o nazwach op_group
i options
. Te dwie tabele są wypełniane wartościami tablicy. Na przykład chcę wstawić szczegóły pizzy do moich tabel.Jak wstawić dane tablicy do tabeli mysql
to wyglądać tak:
- Ser pizza i kiełbasa pizzy dostanie wstawiony do tabeli
op_group
. - Pozostałe dane zostaną wstawione do tabeli
options
. Opcje te należy wstawić w oparciu o odpowiedni klucz obcyop_group
id.
To co próbowałem. Wszystkie szczegóły są wstawiane, ale nie dla odpowiednich op_group
.
$opg_name=$_POST['opg_name'];
$price=$_POST['price'];
$itemCountz = count($opg_name);
$itemValues=0;
$queryValue1 = "";
for($i=0; $i<$itemCountz; $i++) {
$itemValues++;
if($queryValue1!="") {
$queryValue1 .= ",";
}
$queryValue1 = "INSERT INTO op_group
(opg_id,ml_id,cat_id,res_id,res_name,op_grp)
VALUES(NULL,'".$ml_id."','".$cat_id."','".$res_id."','".$res_name."','".$_POST["opg_name"][$i]."')";
$result1= mysql_query($queryValue1)or die(mysql_error());
$query6= "SELECT * FROM op_group ORDER BY opg_id DESC LIMIT 1" ;
$result6= mysql_query($query6);
while($row6 = mysql_fetch_assoc($result6)){
$opg_id=$row6['opg_id'];
}
$itemCount2 = count($price);
$itemValues1 = 0;
$queryValue2 = "";
for($j=0;$j<$itemCount2;$j++) {
if(!empty($_POST["op_name"][$j])||!empty($_POST["price"][$j])) {
$itemValues1++;
if($queryValue2!="") {
$queryValue2 .= ",";
}
$queryValue2 = "INSERT INTO options (op_id,opg_id,ml_id,cat_id,res_id,res_name,opt,price) VALUES (NULL,'".$opg_id."','".$ml_id."','".$cat_id."','".$res_id."','".$res_name."','".$_POST["op_name"][$j]."','".$_POST["price"][$j]."')";
}
}
$result2=mysql_query($queryValue2)or die(mysql_error());
}
Ten kod daje spowodować jak ten stół
opcji włożonej danych wygląda następująco
jak rozwiązać ten problem?
możesz użyć PHP serialize() do przechowywania tablic wartości do bazy danych i po jej odtworzeniu. LUB zrób json_encode() i json_decode() do przechowywania w bazie danych i pobierania również. – Shelim
$ query6 = "SELECT * FROM op_group ORDER BY opg_id DESC LIMIT 1"; To jest problem, co robisz, to wybranie z powrotem wszystkich wpisów w op_group, a następnie dla każdego op_group wstawiasz wszystkie opcje bez sprawdzania, czy należy do pizzy serowej czy pizzy z kiełbasą –
@AchalSaraiya to wybierz tylko wstawione opg_id. ($ opg_id = $ row6 ['opg_id'];). theese przykład echo 221 i 222. jak sprawdzić opcje dla odpowiedniej grupy opcji? – Tje123