2013-02-17 36 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

相关问题