Foros del Web » Programando para Internet » PHP »

TAblas relacionadas problema al mostrar info en pantalla

Estas en el tema de TAblas relacionadas problema al mostrar info en pantalla en el foro de PHP en Foros del Web. Este es mi primer post y lo primero es saludarlos y agradecer esta comunidad que me ha ayudado mucho con la info que tienen. Paso ...
  #1 (permalink)  
Antiguo 25/06/2010, 22:50
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
TAblas relacionadas problema al mostrar info en pantalla

Este es mi primer post y lo primero es saludarlos y agradecer esta comunidad que me ha ayudado mucho con la info que tienen.

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:



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>";

?>

Última edición por Crim1NaL; 25/06/2010 a las 22:56
  #2 (permalink)  
Antiguo 26/06/2010, 12:56
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: TAblas relacionadas problema al mostrar info en pantalla

Puedes hacer asi sin tantas complicaciones:

Código PHP:

Realizas una consulta 
(normal"menu".

La conviertes en un array mysql_fetch_array();

La recorres y recuperas su contendio

Al producto lo muestras (en negrita), y a la id de ese producto lo usas para 
realizar una consulta a submenu
Siendo que el producto tenga una id asociada 
con su respectivo 
"subproducto"

Luego realizas lo tipico para mostrar los datos... 
 (
te quedarian dos loops while anidados)
y no tendras que hacer nada mas.

Una vez que funcione correctamente lo estructuras todo en una tabla
Saludos...!
  #3 (permalink)  
Antiguo 26/06/2010, 13:01
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: TAblas relacionadas problema al mostrar info en pantalla

La subcategoría te la devuelve en el primer while, ¿o no? Me da la sensación de que sí, ya que estás usando un join. Creo que tu 2do while está sobrando.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.

Etiquetas: info, pantalla, relacionadas, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:36.