1

私がここで見逃しているのは、非常にばかげたものに違いないことはわかっています。テーブルがあり、すべての計算がうまく機能しています。私はここで立ち往生しています:

while ループの後、ttl_sold と、「残高」以外のすべての情報をエコーできます。

while ループではこれらは問題なく、結果が得られます。

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql); ?>

<?php
$sum = $sum + $rows['total'];
$ttlsold = $ttlsold + $rows['quantity'];
?>


<?php

$sum = 0;
$ttlsold = 0;

while($rows=mysql_fetch_array($result)){

ttl_sold は 12 で、"balance" をエコーすると -12 になります。これをループ内と外側に含めようとしましたが、それでもうまくいきません!

<?php
$balance = "SELECT stock FROM tbl_name WHERE id = 1";
$balance = $balance - $ttl_sold;
?>

<table width="1000" border="1" cellspacing="0" cellpadding="3">
<tr>
<td width="100"><?php echo $balance; ?></td>

何か案が?ありがとう!

4

2 に答える 2

2

これを試して、

$query = "SELECT stock FROM tbl_name WHERE id = 1";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
{
    $balance = $row['stock'];
    $balance = $balance - $ttl_sold;
}

以下の記事では、やSQL Injectionなどの新しい PHP 拡張機能の使用方法について説明しています。PDOMySQLi

于 2013-02-17T11:08:04.643 に答える
1

あなたはこのようなことをしています:

$balance = "SELECT stock FROM tbl_name WHERE id = 1" - 12;
// PHP makes:
$balance = (int) "SELECT stock FROM tbl_name WHERE id = 1" - 12;
// And moreover:
$balance = 0 - 12;
$balance = -12;

最初にこのクエリを実行する必要があります。MySQL の場合はPDOまたはMySQLiを使用できます。

于 2013-02-17T11:13:02.607 に答える