我在这里有一个问题,我输入了购买的商品数量多于我拥有的库存,所以输出是数据减去示例"-1"。我有源码json php下面你能帮我改进我的程序,这样我就会被通知"购买的物品缺货">
<?php
if($_SERVER['REQUEST_METHOD']=='POST') {
date_default_timezone_set("Asia/Jakarta");
$timestamp = date('H:i:s');
$tanggal = date('Y-m-d');
$response = array();
//mendapatkan data
$id_barang = $_POST['id_barang'];
$nm_barang = $_POST['nm_barang'];
$stokk = $_POST['stokk'];
$nm_pegawai = $_POST['nm_pegawai'];
require_once('dbConnect.php');
$sql2 ="SELECT * FROM stok where id_barang='$id_barang'";
$res = mysqli_query($con,$sql2);
while($row = mysqli_fetch_array($res)){
$tokavailable = $row['stokk'];
}
if( $stokavailable >=$stokk ){
$response["value"] = 0;
$response["message"] = "oops! Item purchased is out of stock!";
echo json_encode($response);
}else{
$sql = "INSERT INTO keluar (id_barang,nm_barang,nm_pegawai,stokk,waktu,tanggal) VALUES('$id_barang','$nm_barang','$stokk','$nm_pegawai','$timestamp','$tanggal')";
if(mysqli_query($con,$sql)) {
$response["value"] = 1;
$response["message"] = "successful buying";
echo json_encode($response);
} else {
$response["value"] = 0;
$response["message"] = "oops! try Again";
echo json_encode($response);
}
}
}
// tutup database
mysqli_close($con);
问题出在IF语句上。
-
变量美元stokavailable$tokavailable不存在(您有打字错误,您将其声明为)),因此无法进行比较。
-
要缺货,必须将条件更改为
$ stock>= $stokavailable
所以你的库存中没有足够的物品…
这样,它应该工作;)