Цикл foreach записывает в бд только первый или последний товар в массиве

Рейтинг: 0Ответов: 0Опубликовано: 05.05.2023
<?php session_start();
if (isset($_POST["sotr"]) && isset($_POST["klient"]) && isset($_POST["data_post"]) && isset($_POST["adres"]) && isset($_POST["total_price"])  ) { 
    
    $x2=$_POST["sotr"];
    $x3=$_POST["klient"];
    $x4=$_POST["data_post"];
    $x5=$_POST["adres"];
    $x8=$_POST["total_price"];
    include 'BD.php';
    $sql = "INSERT INTO zakaz (id_sotrudnica, id_klienta, data_postup_zakaza, adres_zakazchika, order_cost) VALUES ('$x2', '$x3', '$x4', '$x5', '$x8')";
    $res = $link->query($sql);

    
    $sql1="SELECT * FROM zakaz ORDER BY id_zakaza DESC";
    $result = $link->query($sql1);

    $row=mysqli_fetch_array($result);
    $x9=$row["id_zakaza"];
    foreach($_SESSION['cart'] as $id=>$kol)
    {
        $sql2="SELECT * FROM tovar WHERE id_tovara='$id'";
        $result2 = $link->query($sql2);

        $row2=mysqli_fetch_array($result2);
        $price=$row2["price"]*$kol;

        $sql3 = "INSERT INTO spisok_tovarov_v_zakaze (id_zakaza, id_tovara, kolichestvo_tovara, price_tovara) VALUES ('$x9', '$id', '$kol', '$price')";
        $res1=$link->query($sql3);
    }
}
?>

В зависимости от того где будет стоять строка $res1=$link->query($sql3); Если в цикле, то записывает первый товар, если после цикла, то последний. Нужно чтобы цикл прошел по массиву и записал каждый товар в бд.

Ответы

Ответов пока нет.