我已创建,在数据库中插入表值。我计算金额=费率*数量。 但是,最后一个值会在数据库中的amount列中更新。
$sql = "INSERT INTO wp_product_details (ProductID, Rate, Quantity) VALUES ('$pid', '$rate', '$qty')";
$result = mysql_query($sql);
$result1 = mysql_query("SELECT * FROM wp_product_details");
echo "<table border=1 cellpadding=0 cellspacing=0 width=65%><tr><td>Product ID</td><td>Rate</td><td>Quantity</td><td>Amount</td></tr>";
while($row = mysql_fetch_array($result1))
{
$amt= $row['Rate']*$row['Quantity'];
mysql_query("UPDATE wp_product_details SET Amount='$amt' where ProductID='$pid'");
echo "<tr><td>".$row["ProductID"]."</td><td>" .$row['Rate']."</td><td>" .$row['Quantity']."</td><td>".$amt."</td></tr>";
}
echo "</table>";
输出:
ProdID Rate Qty Amt ABC10 120 3 280 XER45 150 3 280 YWE10 130 2 280 ZTW20 140 2 280
这是我的输出。仅更新所有行的最后一行值(金额)。 我需要每一行都应该更新自己的金额。请通过编码并帮助我。
答案 0 :(得分:1)
UPDATE wp_product_details SET Amount = Rate * Quantity;
如果只有特定的产品ID发生了变化,您可以使用WHERE子句;
UPDATE wp_product_details SET Amount = Rate * Quantity WHERE ProductID IN (0,3,5,7);
答案 1 :(得分:0)
mysql_query("UPDATE wp_product_details SET Amount='$amt' where ProductID='$pid'");
为什么你需要多次打电话?