Как вставить количество товара и обновить его в другой таблице? - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь обновить количество товара при добавлении нового товара. Я использую массив, потому что я хочу добавить более одного продукта на странице. Но данные не вставляются в БД и не обновляют количество акций тоже. Что мне не хватает в этом коде?

 <?php
include 'db_connection.php';

    if(isset($_POST["submit4"])){


        foreach($_POST['fk_product'] as $index => $searchid){

            $sql="INSERT INTO supplier (supplier_name, date_in, fk_product, quantity_in) VALUES ('".$_POST['supplier_name']."','".$_POST['date_in']."','".$_POST['fk_product'][$index]."', '".$_POST["quantity_in"][$index]."')"; 

            $quantity_bal=$_POST['quantity_bal'];

            if($quantity_bal==0){
            $sql="UPDATE product set quantity_bal= quantity_ori + '".$_POST["quantity_in"][$index]."' WHERE id_produk = '".$_GET['id']."'";
            }else if($quantity_bal!=0){
            $sql="UPDATE product set quantity_bal= quantity_bal + '".$_POST["quantity_in"][$index]."' WHERE id_produk = '".$_GET['id']."'";

            }

            $query = mysqli_multi_query($conn,$sql);
    if($query){
        header("location:product.php");
    }



    }      
        }
?>

1 Ответ

0 голосов
/ 27 мая 2019

Что вам не хватает, так это то, что вам нужно объединить запросы, используя оператор присваивания =, вы просто переопределили старую строку, поэтому она должна выглядеть следующим образом:

foreach($_POST['fk_product'] as $index => $searchid){

        $sql = "INSERT INTO supplier (supplier_name, date_in, fk_product, quantity_in) VALUES ('".$_POST['supplier_name']."','".$_POST['date_in']."','".$_POST['fk_product'][$index]."', '".$_POST["quantity_in"][$index]."')"; 

        $quantity_bal = $_POST['quantity_bal'];

        if($quantity_bal == 0){
            //I'm presuming that the quantity_ori is a variable here 'coz you're trying to sum up with the original to the latest one
            $sql .= "UPDATE product set quantity_bal= $quantity_ori + '".$_POST["quantity_in"][$index]."' WHERE id_produk = '".$_GET['id']."'";
        }else if($quantity_bal != 0){
            $sql .= "UPDATE product set quantity_bal= $quantity_bal + '".$_POST["quantity_in"][$index]."' WHERE id_produk = '".$_GET['id']."'";
        }

}

Мы изменили символ = в ваших запросах на обновление на .=, и тогда ваш quantity_ori ранее не имеет символа $, так как мы предполагаем, что это переменная, не забывайте $

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...