Paso a realizar la siguiente pregunta.
Tengo dos tablas relacionadas que son productos y sub productos, debo mostrar en pantalla un producto con todo sus subproductos relacionados, la idea es que se imprima en pantalla UNA y SOLO UNA vez el producto y al lado sus subproductos.
He utilizado LEFT OUTER JOIN en la consulta SQL y me funciona perfecto, pero al momento de imprimir en pantalla la información solo quiero que aparezca 1 ves el producto.
Esto es lo que está desplegando:
![](http://img251.imageshack.us/img251/4857/sinttulo2nw.jpg)
La idea que no vuelva a aparecer lo que esta en rojo, que salga 1 vez.
Este es el código que estoy ocupando:
Código PHP:
<?php
require('./enlaceDB.php');
$conexion=Conectar();
print("<div align='center'>
<table width='600' border='0' cellspacing='1' cellpadding='4' bgcolor='#F2F2F2' id='table25'>
<tr bgcolor='#CCCCCC'>
<td width='300'><font size='1' face='Verdana'>Categoría</font></td>
<td width='200'><font size='1' face='Verdana'>Subcategoría</font></td>
</tr>");
$sql = "SELECT t1.idMenu,t1.categoria, t2.subcategoria FROM menu as t1 LEFT OUTER JOIN submenu as t2 ON t1.idMenu= t2.idMenu order by idMenu ASC";
$rs_Menus=mysql_query($sql, $conexion);
while ($row=mysql_fetch_array($rs_Menus)) {
$id = $row["idMenu"];
$categoria = $row["categoria"];
$subcategoria = $row["subcategoria"];
$sql = "SELECT count(idMenu) FROM submenu WHERE idMenu = $id";
$rs_count = mysql_query($sql, $conexion);
while ($row2 = mysql_fetch_array($rs_count)) {
$valor = $row2[0];
}
if ($valor == 0){
print ('<tr bgcolor="#FFFFFF">
<td width="300"><font size="1" face="Verdana">' . $id. ' - ' . $categoria. '</font></td>
<td width="200">-
</td>
</tr>');
}
elseif ($valor != 0) {
print ('<tr bgcolor="#FFFFFF">
<td width="300"><font size="1" face="Verdana">' . $id. ' - ' . $categoria. ' ('.$valor.')</font></td>
<td width="200">
<font size="1" face="Verdana"><font size="1" face="Verdana">' . $subcategoria. '</font></td>
</tr>');
}
}
echo "</table></div>";
?>