2013-02-17 57 views
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,當我回聲「平衡」,我得到-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> 

任何想法?謝謝!

+0

$ balance是作爲字符串變量的SQL語句....您沒有執行SQL查詢或得到結果......建議您查看PHP手冊以瞭解數據庫訪問的基本信息....並且學習PDO(http://www.php.net/manual/en/book.pdo.php),而不是大多數人會建議的不推薦使用的MySQL – 2013-02-17 11:06:52

+0

請向我們展示整個相關代碼,包括執行查詢的部分和你說的循環。 – 2013-02-17 11:11:04

+0

謝謝。添加了其他部分。 – StillTrying 2013-02-17 11:21:03

回答

1

試試這個,

$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

+3

mysql_ *已被棄用,爲什麼不告訴初學者有關mysqli? – vikingmaster 2013-02-17 11:10:20

+0

正如我懷疑,他實際上正在執行查詢(他剛剛編輯) – 2013-02-17 12:05:42

+0

謝謝大家。我完成了。實際上我必須在while循環之前同時運行2個查詢。 – StillTrying 2013-02-17 12:28:24

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可以使用PDOMySQLi

相關問題