0

データベースにテーブル値を作成して挿入しました。金額=レート*数量を計算しました。ただし、最後の値はデータベースの金額列全体で更新されます。

$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レート数量AmtABC10120 3280 XER45 150 3280 YWE10 130 2280 ZTW20 140 2280

これが私の出力です。すべての行について、最後の行の値(金額)のみが更新されます。各行がそれぞれの量を更新する必要があります。plsはコーディングを経て、私を助けてくれます。

4

2 に答える 2

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);

于 2012-07-29T05:01:34.497 に答える
0
 mysql_query("UPDATE wp_product_details SET Amount='$amt' where ProductID='$pid'");

なぜそれを何度も呼び出す必要があるのですか?

于 2012-07-29T05:01:22.770 に答える