你好我正在一家商店用PHP来填充商店的一个while循环,以便显示我数据库中的所有商店商品。这工作正常,但我有一个问题,当我尝试更新该帐户上剩余的股票数量和钱时,我按购买按钮。PHP问题在按钮上更新数据库单击
$ ItemCost变量只保存上次填充的项目成本,我不确定如何保存每个项目的成本以将其插入到数据库中。 另外$ StockCount变量将库存计数设置为1.
我该如何解决这个问题。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "useraccounts";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
$GatherItems = "SELECT * FROM shopitems WHERE StockCount > 0 ORDER BY`shopitems`.`Cost` DESC";
$result = $conn->query($GatherItems);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$ItemName = $row['ItemName'];
$ItemCost = $row['Cost'];
$ID = $row['ID'];
$StockCount = $row['StockCount'];
$Money = $row['Money'];
echo "<div class='test'>$ItemName</div>";
echo "<div class='test1'>$ItemCost </div>";
echo "<input type='submit' class='btn btn-primary' name='Buy' value='Buy Now'/>";
}
$NewTotal = $Money - $ItemCost;
$Inventory = "UPDATE shopitems SET StockCount = $StockCount-1, Money = $NewTotal WHERE ID = $ID";
if(isset($_POST['Buy'])){
if ($conn->query($Inventory) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $Inventory . "<br>" . $conn->error;
}
}
}
$conn->close();
?>
你需要通过与按钮点击该行的'ID',并检查该'ID'。此外,您还需要在您的'SELECT'脚本之前移动'UPDATE'脚本,因为您在选择后删除了脚本,因此您的总计将始终关闭。 – Sean