以下代碼顯示一行中客戶的姓名,其中包含他/她在名稱行下面的行中購買的所有項目。PHP:當從功能添加數據時while循環停止
正如您將看到的,在購買的物品行中,我還打印了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;
?>
請張貼表結構和一些樣本記錄,最好在形式上'CREATE TABLE ...'和'INSERT INTO ...'sql語句。 – VolkerK