2011-04-26 52 views
0

我是新來的PHP,MySQL的產品。有人可以幫助解決這個問題嗎?如果是這樣,請解釋一下,以便我可以學習。提前致謝。如何顯示在類別[數據分組]

$data=mysql_query("SELECT tbl_category.*, tbl_product.* FROM tbl_category LEFT JOIN tbl_product ON tbl_category.cat_id=tbl_product.cat_id ORDER BY tbl_category.cat_id"); 
$color="1"; 
while($fetch=mysql_fetch_array($data, MYSQL_ASSOC)){ 

if($fetch['cat_name'] != $category){ //this returns error: "Notice: Undefined variable: category in /.../filename.php on line [this line number] 
    $catdes = $fetch['pd_description']; 
    echo "<tr bgcolor='#A9F5F2'><td colspan=\"2\"><div align=\"center\"><br/><b>". $fetch['cat_name']."</b><br /><span class=\"itemdescription\">". $catdes."</div></div></td></tr>"; 
    $category = $fetch['cat_name']; 
} 

    $item = $fetch['pd_name']; 
    $desc = $fetch['pd_description']; 
    $price = $fetch['pd_price']; 
    if($color==1){ 
     echo "<tr bgcolor='#FFFFFF'>"; 
     echo "<td width=\"93%\"><div align=\"left\">"; 
     echo $item . "<br /><span class=\"itemdescription\">"; 
     echo $desc ; 
     echo "</div></td><td width=\"7%\" VALIGN=\"top\" ALIGN=\"right\"><div align=\"right\">"; 
     echo $price ."</div></td><tr>"; 
    $color="2"; 
    } 
    else{ 
     echo "<tr bgcolor='#F2F2F2'>"; 
     echo "<td width=\"93%\"><div align=\"left\">"; 
     echo $item . "<br /><span class=\"itemdescription\">"; 
     echo $desc ; 
     echo "</div></td><td width=\"7%\" VALIGN=\"top\" ALIGN=\"right\"><div align=\"right\">"; 
     echo $price ."</div></td><tr>"; 
    $color="1"; 
    } 
} 

回答

0

您注意到您收到的是在使用它之前未聲明變量的結果。在使用它們之前聲明變量總是很好的做法。

在你的情況,你需要一個值與它之前宣佈$category

$category = ''; 
if($fetch['cat_name'] != $category){ 
+0

謝謝你的回覆。我實際上試圖完全按照你所說的定義變量。該錯誤解決了,但我所需的輸出不顯示。我希望看到的類別已被證明一次,在下面的類別,類別列出了所有物品;像 -
筆記本
索尼 - 模型 - 價格
戴爾 - 模型 - 價格,等等。但是,如果我定義變量它沒有顯示所需的輸出,但它的錯誤一樣。請再次查看代碼。感謝和親切的問候。 – Tito 2011-04-26 16:22:45