下面的代码在一行中显示了客户的姓名,他/她在姓名行下方的行中显示了他/她购买的所有物品。
正如您将看到的,在购买的商品行中,我还打印了从 getPrice 函数获得的商品价格。
这就是问题所在,第一个查询,也就是客户查询,检索了几行数据,但只要我调用 getPrice 函数,我就只得到第一行。
如果我不调用该函数,而是只给价格一个值,那么一切正常。
考虑到这一点,我更改了 getPrice 函数查询,认为它可能是错误的,但问题仍然存在.. while 循环只打印一行。
关于出了什么问题的任何想法?我可以尝试什么?我被困住了:(
谢谢 !!
<?php
$query1 = "SELECT * FROM Customers"; //this retrieves several rows of data
$result1 = mysql_query($query1) or die(mysql_error());
$flag = -999;
while($row = mysql_fetch_array($result1))
{
if ($row["id"] != $flag)
{
$content .="<span>".$row["lastName"].", ".$row["Name"]." </span><br />";
$flag = $row["id"];
}
$content .=("Item purchased: " .$row["item"]."Price: ".getPrice($row["ItemID"])."<br />");
$content .="</br></br>";
}
function getPrice ($itemID)
{
$query2 = "SELECT Price FROM Items WHERE ItemID= '".$itemID."'";
$result2 = mysql_query($query2) or die(mysql_error());
if($row2 = mysql_fetch_array($result2))
{
return $row2[0];
}
}
echo $content;
?>