ผมติดปัญหาคือ ถ้า สั่งสินค้ามาเกิน จำนวนใน stock เเล้วมันจำนวนคงเหลือมัน ติดลบ คือผมอยากให้ถ้าสั่งซื้อเกินจำนวน จะเเจ้งว่าสั่งซื้อไม่ได้มีไม่พอ ผมควรเพิ่มเติมยังไงดีอะครับ ขอรบกวนด้วยครับ คือผมอย่าให้มีการเช็คว่าสินค้าที่ส่ง มีมากกว่า ใน stock รึเปล่าอะถ้ามากว่าก็ เเจ้งว่าซื้อไม่ได้เเล้วก็ยกเลยกการทำงานของหน้านี้อะตรับ ก่อนที่ จะinsert ลง ตาราง orders อะครับมันควรเพิ่ม code ตรงไหนอะครับ ยังไงครับ
<?php
session_start();
$formid = isset($_SESSION['formid']) ? $_SESSION['formid'] : "";
if ($formid != $_POST['formid']) {
echo "E00001!! SESSION ERROR RETRY AGAINT.";
} else {
unset($_SESSION['formid']);
if ($_POST) {
include './config.php';
$order_fullname = mysqli_real_escape_string($conn,$_POST['order_fullname']);
$order_address = mysqli_real_escape_string($conn,$_POST['order_address']);
$order_phone = mysqli_real_escape_string($conn,$_POST['order_phone']);
$sql = "INSERT INTO orders (order_date, order_fullname, order_address, order_phone) VALUES (NOW(),'{$order_fullname}','{$order_address}','{$order_phone}') ";
$qeury = mysqli_query($conn,$sql);
if ($qeury) {
$order_id = mysqli_insert_id($conn);
for ($i = 0; $i < count($_POST['qty']); $i++) {
$order_detail_quantity = mysqli_real_escape_string($conn,$_POST['qty'][$i]);
$order_detail_price = mysqli_real_escape_string($conn,$_POST['product_price'][$i]);
$product_id = mysqli_real_escape_string($conn,$_POST['product_id'][$i]);
$lineSql = "INSERT INTO order_details (order_detail_quantity, order_detail_price, product_id, order_id) ";
$lineSql .= "VALUES (";
$lineSql .= "'{$order_detail_quantity}',";
$lineSql .= "'{$order_detail_price}',";
$lineSql .= "'{$product_id}',";
$lineSql .= "'{$order_id}'";
$lineSql .= ") ";
mysqli_query($conn,$lineSql);
/* ลบจำนวนสินค้าใน stock*/
for($a=0;$a<count($product_id);$a++){
$result = mysqli_query($conn,"UPDATE products SET stock = stock - '$order_detail_quantity[$a]' where id = '$product_id[$a]'");
}
}
mysqli_close($conn);
unset($_SESSION['cart']);
unset($_SESSION['qty']);
header('location:index.php?a=order');
}else{
mysqli_close($conn);
header('location:index.php?a=orderfail');
}
}
}
?>
ช่วยเรื่อง code php หน่อยครับ
<?php
session_start();
$formid = isset($_SESSION['formid']) ? $_SESSION['formid'] : "";
if ($formid != $_POST['formid']) {
echo "E00001!! SESSION ERROR RETRY AGAINT.";
} else {
unset($_SESSION['formid']);
if ($_POST) {
include './config.php';
$order_fullname = mysqli_real_escape_string($conn,$_POST['order_fullname']);
$order_address = mysqli_real_escape_string($conn,$_POST['order_address']);
$order_phone = mysqli_real_escape_string($conn,$_POST['order_phone']);
$sql = "INSERT INTO orders (order_date, order_fullname, order_address, order_phone) VALUES (NOW(),'{$order_fullname}','{$order_address}','{$order_phone}') ";
$qeury = mysqli_query($conn,$sql);
if ($qeury) {
$order_id = mysqli_insert_id($conn);
for ($i = 0; $i < count($_POST['qty']); $i++) {
$order_detail_quantity = mysqli_real_escape_string($conn,$_POST['qty'][$i]);
$order_detail_price = mysqli_real_escape_string($conn,$_POST['product_price'][$i]);
$product_id = mysqli_real_escape_string($conn,$_POST['product_id'][$i]);
$lineSql = "INSERT INTO order_details (order_detail_quantity, order_detail_price, product_id, order_id) ";
$lineSql .= "VALUES (";
$lineSql .= "'{$order_detail_quantity}',";
$lineSql .= "'{$order_detail_price}',";
$lineSql .= "'{$product_id}',";
$lineSql .= "'{$order_id}'";
$lineSql .= ") ";
mysqli_query($conn,$lineSql);
/* ลบจำนวนสินค้าใน stock*/
for($a=0;$a<count($product_id);$a++){
$result = mysqli_query($conn,"UPDATE products SET stock = stock - '$order_detail_quantity[$a]' where id = '$product_id[$a]'");
}
}
mysqli_close($conn);
unset($_SESSION['cart']);
unset($_SESSION['qty']);
header('location:index.php?a=order');
}else{
mysqli_close($conn);
header('location:index.php?a=orderfail');
}
}
}
?>