Foros del Web » Programando para Internet » PHP »

Mostrar registros BD

Estas en el tema de Mostrar registros BD en el foro de PHP en Foros del Web. Buen dia para todos, Esta vez vengo con un problema que no se porque no me funciona. tengo dos tablas en la BD unaTIPOS y ...
  #1 (permalink)  
Antiguo 26/11/2010, 20:11
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Mostrar registros BD

Buen dia para todos,

Esta vez vengo con un problema que no se porque no me funciona.

tengo dos tablas en la BD unaTIPOS y la otra SUBTIPOS con dos select en php recojo los datos de dichas tablas.

lo que quiero hacer es que me aparezca algo asi

TITULO1
subtitulo1
subtitulo2
subtituloN

TITULO2
subtitulo1
subtitulo2
subtituloN

TITULON
subtitulo1
subtitulo2
subtituloN

este es el codigo PHP que no me funciona. solo me imprime los TITULOS

Código PHP:


    $consultaTipo 
"SELECT * FROM tbl_tipo_perfil ORDER BY tp_codigo;";
    
$resultado1 mysql_db_query ($dasedatos$consultaTipo$conexion);

    
$consultaSubTipo "SELECT * FROM tbl_tipo_sub_perfil ORDER BY tp_codigo;";
    
$resultado2 mysql_db_query ($dasedatos$consultaSubTipo$conexion);

        while (
$registrosTipo mysql_fetch_array ($resultado1)){
                echo     
$registrosTipo[tp_nombre]."<br/>";
                    while (
$registrosSubTipo mysql_fetch_array ($resultado2)){
                        if ((
$registrosSubTipo[tp_codigo]) == ($registrosTipo[tp_codigo])){
                            echo 
$registrosSubTipo[tsp_nombre]."<br/>";
                            }
                        }                    
        } 
Muchas gracias por su ayuda.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 26/11/2010 a las 20:13 Razón: error en el codigo PHP
  #2 (permalink)  
Antiguo 26/11/2010, 20:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Mostrar registros BD

la 2da consulta debes anidarla dentro de la primera, además de establecer el filtro correspondiente:

Código PHP:
Ver original
  1. $consultaSubTipo = "SELECT * FROM tbl_tipo_sub_perfil WHERE tp_codigo=".$registrosTipo['tp_codigo']." ORDER BY tp_codigo;";
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 26/11/2010, 20:35
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Mostrar registros BD

Muchas gracias por la ayuda que me brindaste, inmediatamente se soluciono el problema.

Coloco el codigo para las personas que tengan problemas similares.

Cita:

while ($registrosTipo = mysql_fetch_array ($resultado1)){
echo "<h1>".$registrosTipo[tp_nombre]."</h1><br/>";
$consultaSubTipo = "SELECT * FROM tbl_tipo_sub_perfil WHERE tp_codigo=".$registrosTipo['tp_codigo']." ORDER BY tp_codigo;";
$resultado2 = mysql_db_query ($dasedatos, $consultaSubTipo, $conexion);
while ($registrosSubTipo = mysql_fetch_array ($resultado2)){
echo $registrosSubTipo[tsp_nombre]."<br/>";
}
}
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 26/11/2010, 21:00
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Mostrar registros BD

Bueno mirando el código me doy cuenta que hace una consulta diferente cada vez que entra al WHILE.

Existe alguna forma de mejorar este código que se haga lo mismo con una o dos consultas ?

gracias por la respuestas
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 26/11/2010, 21:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar registros BD

claro que existe la forma, pero no es tema de PHP... es mas bien sintaxis SQL
Cita:
SELECT * FROM tabla1 WHERE tabla1.columna1 = tabla2.columna2 ORDER BY columna3
te invito a buscar en el foro correspondiente...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 26/11/2010, 21:34
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Mostrar registros BD

Eso es un INNER JOIN ?
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 26/11/2010, 21:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar registros BD

Cita:
Iniciado por jotaincubus Ver Mensaje
Eso es un INNER JOIN ?
no, ¿donde viste lo de INNER JOIN en el ejemplo?

creo que a este tipo de consulta se le dice CROSS JOIN, la verdad que ni se mucho... solo se que puedes obtener los registros que coincidan con ambos valores de las dos tablas...

pero por favor, como te decía... busca en el foro correcto, las consultas de SQL no son PHP!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 26/11/2010, 21:50
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Mostrar registros BD

Si amigo pero tengo un problema... mira yo lo hice asi desde el principio pero me salio un problema, la tabla que genera eso es asi

TIPO1 SUBTIPO1
TIPO1 SUBTIPO2
TIPO1 SUBTIPO3

TIPO2 SUBTIPO1
TIPO2 SUBTIPO2
TIPO2 SUBTIPO3


TIPO3 SUBTIPO1
TIPO3 SUBTIPO2
TIPO3 SUBTIPO3

como imprimo eso para que me quede asi ?

TITULO1
subtitulo1
subtitulo2
subtituloN

TITULO2
subtitulo1
subtitulo2
subtituloN

TITULON
subtitulo1
subtitulo2
subtituloN

si lo hago con

while ($registros = mysql_fetch_array($consulta)){
echo $registros[campo1];
echo $registros[campo2];
}

me imprime

TIITULO1
SUBTITULO1
TITULO1
SUBTITULO2
.
.
.
.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: bd, registros
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:46.