请在一行后循环中断,是否为赋值运算符

时间:2012-02-14 09:39:10

标签: php

请帮助我,我的while循环似乎在第一个循环后打破,因为$ totalprice只回显一次。可能是什么原因?

$pplresult = mysql_query("SELECT * FROM repplac WHERE Uname = '{$_SESSION['username']}'") or die(mysql_error());
while ($row = mysql_fetch_assoc($pplresult)) 
   //echo $row['Pquantity'] * $row['Price'];
  $totalprice = $row['Price'] * $row['Pquantity'];
  echo "$totalprice";

4 个答案:

答案 0 :(得分:0)

试试这个:

$totalprice += $row['Price'] * $row['Pquantity'];

答案 1 :(得分:0)

$pplresult = mysql_query("SELECT * FROM repplac WHERE Uname = '{$_SESSION['username']}'") or die(mysql_error());
while ($row = mysql_fetch_assoc($pplresult)) 
  {
 //echo $row['Pquantity'] * $row['Price'];
  $totalprice += $row['Price'] * $row['Pquantity'];
}
  echo "$totalprice";

答案 2 :(得分:0)

你的循环运行正常,你只是忘了添加大括号。

while ($row = mysql_fetch_assoc($pplresult)) {
  $totalprice = $row['Price'] * $row['Pquantity'];
  echo "$totalprice";
}

如果没有支撑,只需在循环头部之后的第一行代码进行处理,您将看到只有计算的最后结果被回显。

答案 3 :(得分:0)

结果可能只有一条记录。要检查一下,请按echo mysql_num_rows($pplresult);检查行数,并确认结果集中有多行