从表中选择特定单元格

时间:2013-02-17 11:04:17

标签: php mysql

我知道这一定是非常愚蠢的我在这里失踪了。我有一张桌子,所有计算都很好。我被困在这里:

在while循环之后,我可以回显ttl_sold以及除“balance”之外的所有其他信息。

在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>

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分: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,但它介绍了如何使用PDOMySQLi等新的PHP扩展。

答案 1 :(得分: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