Mysql表更新问题

时间:2012-07-29 04:53:17

标签: mysql

我已创建,在数据库中插入表值。我计算金额=费率*数量。 但是,最后一个值会在数据库中的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

这是我的输出。仅更新所有行的最后一行值(金额)。 我需要每一行都应该更新自己的金额。请通过编码并帮助我。

2 个答案:

答案 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'");

为什么你需要多次打电话?