Проверка на дубликат и вставка только уникального элемента в таблицу, но это работает только для 1-го элемента - PullRequest
0 голосов
/ 30 мая 2019

Я создаю корзину для покупок, я хочу, чтобы, когда я добавлял товар в таблицу корзин, тогда только он должен быть вставлен за один раз.Поэтому я проверяю повторяющиеся строки, используя столбец product_code в таблице, но это работает только для 1-го элемента ..... Если я нажимаю кнопку добавления другого элемента в корзину, он не вставляется в таблицу, но показывает добавленный элемент сообщения.вместо этого отображается элемент, который уже добавлен ....

страница индекса

таблица корзины

action.php

if(isset($_GET['id'])){
        $id = $_GET['id'];

        $stmt = $conn->prepare("SELECT * FROM product WHERE id=?");
        $stmt->bind_param("i",$id);
        $stmt->execute();
        $result = $stmt->get_result();
        $row = $result->fetch_assoc();

        $pname = $row['product_name'];
        $pimage = $row['product_image'];
        $pprice = $row['product_price'];
        $pcode = $row['product_code'];
        $pqty = 1;

        $stmt2 = $conn->prepare("SELECT product_code FROM cart");
        $stmt2->execute();
        $res = $stmt2->get_result();
        $r = $res->fetch_assoc();
        $code = $r['product_code'];

        if($pcode!=$code){
            $query = $conn->prepare("INSERT INTO cart (product_name,product_price,product_image,qty,total_price,product_code) VALUES(?,?,?,?,?,?)");
            $query->bind_param("sssiss",$pname,$pprice,$pimage,$pqty,$pprice,$pcode);
            $query->execute();
            $_SESSION['showAlert'] = 'block';
            $_SESSION['message'] = 'Item added to your cart!';
            header("location:index.php");
        }
        else{
            $_SESSION['showAlert'] = 'block';
            $_SESSION['message'] = 'Item already added to your cart!';
            header("location:index.php");
        }
    }
...