Foros del Web » Programando para Internet » PHP »

consultar varias tablas mysql

Estas en el tema de consultar varias tablas mysql en el foro de PHP en Foros del Web. como puedo hacer una consulta a verias tablas de mi base de datos y paginar su resultado?? mas o menos esto mysql_query("SELECT * FROM tabla1, ...
  #1 (permalink)  
Antiguo 19/01/2011, 14:42
Avatar de alfoner  
Fecha de Ingreso: abril-2009
Mensajes: 146
Antigüedad: 15 años
Puntos: 0
Exclamación consultar varias tablas mysql

como puedo hacer una consulta a verias tablas de mi base de datos y paginar su resultado??

mas o menos esto

mysql_query("SELECT * FROM tabla1, tabla2 ORDER BY titulo ");

o bien con una variable

$tablas = "tabla1, tabla2";
mysql_query("SELECT * FROM $tablas ORDER BY titulo ");


Gracias.
  #2 (permalink)  
Antiguo 19/01/2011, 15:06
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: consultar varias tablas mysql

Bueno tu pregunta va en la consulta SQL... por lo tanto podrias preguntar en el foro correspondiente
en este caso.. Mysql.

saludos.
  #3 (permalink)  
Antiguo 19/01/2011, 15:07
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 3 meses
Puntos: 16
Respuesta: consultar varias tablas mysql

podrías almacenar los resultados de las tablas en un array y luego manejarlos. si son muchos tablas a consultar puedes utilizar un bucle para realizar las consultas.

Código PHP:
$datos msyql_query("select * from tabla1");
$tabla1 mysql_fetch_array($datos);

$datos mysql_query("select * from tabla2");
$tabl2 mysql_fetch_array($datos); 
un saludo.
  #4 (permalink)  
Antiguo 19/01/2011, 15:09
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: consultar varias tablas mysql

Bueno eso no es tanto de PHP sino SQL.
Para hacer una consulta de 2 tablas tienes que relacionarlas.

Ejmplo clasico

TABLA EMPLEADO - *COD_EMPLE , NOMB , DEPT_ID
TABLA DEPARTAMENTO - *ID NOMBRE_DEPT

Aqui tenemos 2 tablas que se relacionan por EMPLEADO->DEPT_ID , DEPARTAMENTO->ID

Esta seria la consulta natural .... tal y como las puesto tu.
SELECT NOMB , NOMBRE_DEPT FROM EMPLEADO,DEPARTAMENTO ;

Pero nos falta la relación
SELECT NOMB , NOMBRE_DEPT FROM EMPLEADO,DEPARTAMENTO
WHERE EMPLEADO.DEPT_ID = DEPARTAMENTO.ID;

Una vez hecho esto ya le puedes añadir mas condiciones.
AND EDAD > 30
un
group by con having.. etc...
---------------------------------
NOTA: Recuerda que si usas un group by solo podras poner , funciones de grupo , campos agrupudas, constantes...

http://dev.mysql.com/doc/refman/5.0/...functions.html
  #5 (permalink)  
Antiguo 19/01/2011, 15:24
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: consultar varias tablas mysql

Cita:
Iniciado por uikekarallo Ver Mensaje
podrías almacenar los resultados de las tablas en un array y luego manejarlos. si son muchos tablas a consultar puedes utilizar un bucle para realizar las consultas.

Código PHP:
$datos msyql_query("select * from tabla1");
$tabla1 mysql_fetch_array($datos);

$datos mysql_query("select * from tabla2");
$tabl2 mysql_fetch_array($datos); 
un saludo.
Yo tambien hacia eso pero pierde mucho el tema de optimización
http://20bits.com/articles/10-tips-f...hat-dont-suck/

Para analizar el coste en mysql es
SHOW STATUS LIKE 'last_query_cost'

Tranki , es que estoy ahora metido al tema de la optimiz y x eso t lo cito.
  #6 (permalink)  
Antiguo 19/01/2011, 15:34
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 3 meses
Puntos: 16
Respuesta: consultar varias tablas mysql

era una opción... he visto alguna otra manera de hacerlo pero no estoy muy puesto aún en la optimización.

gracias por el link, un saludo.
  #7 (permalink)  
Antiguo 19/01/2011, 15:47
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: consultar varias tablas mysql

Cita:
Iniciado por uikekarallo Ver Mensaje
era una opción... he visto alguna otra manera de hacerlo pero no estoy muy puesto aún en la optimización.

gracias por el link, un saludo.
Si realmente es hacer la relación entre las tablas y ya esta.
Buff no te preocupes por la optimización, lo primero es que salga el resultado, aun que siempre hay que tener en cuenta la optimización.. xDD
  #8 (permalink)  
Antiguo 19/01/2011, 16:08
Avatar de alfoner  
Fecha de Ingreso: abril-2009
Mensajes: 146
Antigüedad: 15 años
Puntos: 0
Exclamación Respuesta: consultar varias tablas mysql

hice la consulta y nada sigue sin salir...algo devo hacer mal seguro

aqui la consulta

$rst_productos=mysql_query("SELECT titulo FROM user1,user2 WHERE user1.titulo = user2.titulo");
$num_registros=mysql_num_rows($rst_productos);

y aqui la respuesta

<?php
while ($fila=mysql_fetch_array($rst_productos))
{
?>
<?php
echo $fila['titulo'];
?>
<?php
}
?>


tambien le añadi al consulta de registros localizados pero nada

$rst_productos=mysql_query("SELECT titulo FROM user1,user2 WHERE user1.titulo = user2.titulo");
$num_registros=mysql_num_rows($rst_productos);
if ($num_registros==0)
{
echo "No ahi productos";

exit();
}

Etiquetas: consultar, mysql, 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 08:30.