Foros del Web » Programando para Internet » PHP »

Imprimir en pantalla la unión de tablas

Estas en el tema de Imprimir en pantalla la unión de tablas en el foro de PHP en Foros del Web. Hola a todos! Mi problema es el siguiente. Tengo 3 tablas y necesito imprimir en pantalla la unión de esas tres tablas. Un forero de ...
  #1 (permalink)  
Antiguo 09/09/2007, 16:15
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
De acuerdo Imprimir en pantalla la unión de tablas

Hola a todos!

Mi problema es el siguiente.

Tengo 3 tablas y necesito imprimir en pantalla la unión de esas tres tablas. Un forero de esta web me apoyó y la consulta para unir las tablas quedó de esta manera:
Código PHP:
$query_tabla=mysql_query ("SELECT r.*,  e.*,  f.* FROM resultados r, especialidad e, fecha f WHERE f.id_suma = r.id_suma AND e.id_esp = r.id_esp  "$connection); 
Ahora mi pregunta es cómo impirmir en pantalla los datos obtenidos de la unión de esas tablas.

GRacias de antemano, Saludos!!
  #2 (permalink)  
Antiguo 09/09/2007, 17:53
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Imprimir en pantalla la unión de tablas

pos con un echo "";

te traes todo en un mysql_fetch_array()
lo guardas en una variable $datos y los muestras
$dato[variable];

hay miles de consultas php aqui en lo fdw es solo cosa de ver unas 3 y ver como funciona la cosa...

nota : $dato[variable];
variable vendria siendo el nombre de tu campo en la tabla, y como es un array el que traes imprime todo ese arreglo...

saludos..
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 09/09/2007, 18:58
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir en pantalla la unión de tablas

Hola Kaninox!

Mas o menos quedaría así?

Código PHP:
$consultamysql_fetch_array($query_tabla);
echo 
"$consulta[id_suma, suma, especialidad, fecha]"
Lo intenté y me marca error en la linea del echo..

O no te entendí muy bien, me podrías decir qué es lo que estoy haciedno mal?

gRacias ;)
  #4 (permalink)  
Antiguo 09/09/2007, 20:10
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Imprimir en pantalla la unión de tablas

Más fácil, para ver los valores que trae...
Código PHP:
$consultamysql_fetch_array($query_tabla);
var_dump($consulta); 
  #5 (permalink)  
Antiguo 10/09/2007, 02:07
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Imprimir en pantalla la unión de tablas

pos te marca error por que estas trayendo todo en el mismo array y deberia ir de uno en uno

Código PHP:
$consultamysql_fetch_array($query_tabla);
echo 
"$consulta[id_suma], $consulta[suma] $consulta[especialidad], $consulta[fecha]"
saludos ;)
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 11/09/2007, 17:01
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir en pantalla la unión de tablas

Hola!

GRacias Kaninox!! Si me jaló el código así, muxas gracias! Lo que me imprimiió fué la ultima fila que se ha agregado a la base de datos. Pero... ahora quiero que me imprima todos los datos que tengo en las tablas, para ello he creado esto:

Código PHP:
$query_tabla=mysql_query ("SELECT r.*,  e.*,  f.* FROM resultados r, cat_especialidad e, fecha f WHERE f.id_suma = r.id_suma AND e.id_esp = r.id_esp "$connection);
    
$consulta=mysql_fetch_array($query_tabla);
            
echo 
"$consulta[id_suma], $consulta[suma], $consulta[especialidad], $consulta[fecha]";
echo 
"<center><table border = '1'> \n";
echo 
"<tr> \n";
echo 
"<td><center><b>ID TRABAJADOR</b></center></td> \n";
echo 
"<td><center><b>PUNTUACION VOTO</b></center></td> \n";
echo 
"<td><center><b>ESPECIALIDAD</b></center></td> \n";
echo 
"<td><center><b>FECHA</b></center></td> \n";

echo 
"</tr> \n";
    while (
$consulta=mysql_fetch_array($query_tabla));
{
    echo 
"<tr> \n";
    echo 
"<td><center><b>$consulta[id_suma]</b></center></td> \n";
    echo 
"<td><center><b>$consulta[suma]</b></center></td> \n";
    echo 
"<td><center><b>$consulta[especialidad]</b></center></td> \n";
    echo 
"<td><center><b>$consulta[fecha]</b></center></td> \n";
    echo 
"</tr> \n";
        }

echo 
"</table></center> \n"
Lo que hice fué fusionar algo de html, esto con el fin de que se vean los datos dentro de una tabla y mientras haya datos que ésta se vaya creando. Así lo hice con otra tabla y había utilizado la función mysql_fetch_row y sí imprimía todos los datos de la tabla, pero ahora que estoy utilizando el mysql_fetch_array no me funcionó, tendrá algo que ver eso???
O de qué otra manera lo puedo hacer?

Muxas gracias!!
  #7 (permalink)  
Antiguo 11/09/2007, 17:02
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir en pantalla la unión de tablas

Hola!

GRacias Kaninox!! Si me jaló el código así, muxas gracias! Lo que me imprimiió fué la ultima fila que se ha agregado a la base de datos. Pero... ahora quiero que me imprima todos los datos que tengo en las tablas, para ello he creado esto:

Código PHP:
$query_tabla=mysql_query ("SELECT r.*,  e.*,  f.* FROM resultados r, cat_especialidad e, fecha f WHERE f.id_suma = r.id_suma AND e.id_esp = r.id_esp "$connection);
    
//$consulta=mysql_fetch_array($query_tabla);
            
//echo "$consulta[id_suma], $consulta[suma], $consulta[especialidad], $consulta[fecha]";
echo "<center><table border = '1'> \n";
echo 
"<tr> \n";
echo 
"<td><center><b>ID TRABAJADOR</b></center></td> \n";
echo 
"<td><center><b>PUNTUACION VOTO</b></center></td> \n";
echo 
"<td><center><b>ESPECIALIDAD</b></center></td> \n";
echo 
"<td><center><b>FECHA</b></center></td> \n";

echo 
"</tr> \n";
    while (
$consulta=mysql_fetch_array($query_tabla));
{
    echo 
"<tr> \n";
    echo 
"<td><center><b>$consulta[id_suma]</b></center></td> \n";
    echo 
"<td><center><b>$consulta[suma]</b></center></td> \n";
    echo 
"<td><center><b>$consulta[especialidad]</b></center></td> \n";
    echo 
"<td><center><b>$consulta[fecha]</b></center></td> \n";
    echo 
"</tr> \n";
        }

echo 
"</table></center> \n"
Lo que hice fué fusionar algo de html, esto con el fin de que se vean los datos dentro de una tabla y mientras haya datos que ésta se vaya creando. Así lo hice con otra tabla y había utilizado la función mysql_fetch_row y sí imprimía todos los datos de la tabla, pero ahora que estoy utilizando el mysql_fetch_array no me funcionó, tendrá algo que ver eso???
O de qué otra manera lo puedo hacer?

Muxas gracias!!
  #8 (permalink)  
Antiguo 11/09/2007, 17:14
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Imprimir en pantalla la unión de tablas

para empezar tira los datos sin tablas para ver si imprimen y si estas ocupando html en php los /n no valen para ello existe los famosos <br /> que en tu caso entre td y tr no sirven para nada... :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #9 (permalink)  
Antiguo 11/09/2007, 18:05
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir en pantalla la unión de tablas

ok, gracias por el tip.

Finalmente lo dejé así:

Código PHP:
$query_tabla=mysql_query ("SELECT r.*,  e.*,  f.* FROM sumatoria r, cat_especialidad e, fecha f WHERE f.id_suma = r.id_suma AND e.id_esp = r.id_esp "$connection);

    while (
$consulta=mysql_fetch_array($query_tabla));
{
        echo 
"$consulta[id_suma]";
        echo 
"$consulta[suma]";
        echo 
"$consulta[especialidad]";
        echo 
"$consulta[fecha]";
        } 

Pero no me imprime nada, ni siquiera un mensaje de error. Pero si dejo el código de la siguiente manera, solo me imprime los datos de una fila de la tabla.
Código PHP:
$query_tabla=mysql_query ("SELECT r.*,  e.*,  f.* FROM sumatoria r, cat_especialidad e, fecha f WHERE f.id_suma = r.id_suma AND e.id_esp = r.id_esp "$connection);
    
$consulta=mysql_fetch_array($query_tabla);
            
echo 
"$consulta[id_suma], $consulta[suma], $consulta[especialidad], $consulta[fecha]"
Pero io necesito que se impriman todas las filas, no sé cómo hacerlo aún.
GRacias por la ayuda.
  #10 (permalink)  
Antiguo 11/09/2007, 18:09
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Imprimir en pantalla la unión de tablas

Código PHP:
 $query_tabla=mysql_query ("SELECT r.*,  e.*,  f.* FROM sumatoria r, cat_especialidad e, fecha f WHERE f.id_suma = r.id_suma AND e.id_esp = r.id_esp "$connection);
    
while (
$consulta=mysql_fetch_array($query_tabla)) {
        echo 
"$consulta[id_suma], $consulta[suma], $consulta[especialidad], $consulta[fecha]\r\n";  

  #11 (permalink)  
Antiguo 11/09/2007, 18:31
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir en pantalla la unión de tablas

Seppo, tampoco así imprime los datos.

Lo más curioso es que no me marca ningun mensaje de error.
Lo único que imprime son las comas ",".

Qué estará pasando? tendrá que ver algo el mysql_fetch Array como les mencioné anteriormente? o nada ke ver? :S
  #12 (permalink)  
Antiguo 12/09/2007, 08:12
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Imprimir en pantalla la unión de tablas

Hola!,
Alguien podría ayudarme?, por favorcito.
  #13 (permalink)  
Antiguo 12/09/2007, 12:48
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Imprimir en pantalla la unión de tablas

no sera problema de tu where???
a lo mejor solo vas a buscar un id ? fijate bien en tu consulta y datos, siempre es bueno cuando no sabes por que trae los datos, hacer la consulta directo en el mysql, obviamente en algun cliente, como el phpmyadmin o el front etc... :)
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 19:41.