2011-04-26 33 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