Foros del Web » Programando para Internet » PHP »

¿Como imprimir resultados de dos tablas al mismo tiempo?

Estas en el tema de ¿Como imprimir resultados de dos tablas al mismo tiempo? en el foro de PHP en Foros del Web. Buenos días, tengo dos tablas. Una de ellas, llamada noticias, almacena las entradas de un blog. La otra, llamada imágenes, almacena la ruta de una ...
  #1 (permalink)  
Antiguo 14/01/2014, 08:56
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 10 años, 11 meses
Puntos: 2
¿Como imprimir resultados de dos tablas al mismo tiempo?

Buenos días, tengo dos tablas. Una de ellas, llamada noticias, almacena las entradas de un blog. La otra, llamada imágenes, almacena la ruta de una galería de imágenes (tipo meme). La primera se publica en el index y la segunda en una página llamada "imagenes.php", ¿como haría para que ambas se impriman en la primera página? Claro que deben ir ordenadas según un criterio que obviamente es la fecha (así tengo la primera) pero ¿como se hace esto? ¿Debo relacionarlas? Y en caso verdadero, ¿como hago esto?

Muchas gracias
  #2 (permalink)  
Antiguo 14/01/2014, 09:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Las consultas en si, se relacionan por JOIN, como podrás ver en cualquier tutorial de SQL o MySQL.
Par apoder hacer un JOIN, además, debe existir una relación real entre ambas tablas, determinada por la FK que la tabla de imagenes debe tener, apuntando a la de noticias (usando tu descripción). Si esa relación no la has creado, no hay modo.
El resto, lo que sea mostrar en pantalla, es OFF TOPIC en este foro. MySQL no interactua con el usuario de la pagina. Lo hace la aplicación que creas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/01/2014, 09:28
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

¿La FK debe ser de la de noticias o la de imágenes? ¿Una vez creada la tabla no se le puede colocar la FK?
  #4 (permalink)  
Antiguo 14/01/2014, 09:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Cita:
Iniciado por MeDxEc Ver Mensaje
¿La FK debe ser de la de noticias o la de imágenes? ¿Una vez creada la tabla no se le puede colocar la FK?
Te recomiendo estudiar un poco de SQL. Sin ofender.

Toda tabla se puede crear, modificar y eliminar, con las sentencias para eso (http://dev.mysql.com/doc/refman/5.0/...efinition.html). En el caso de agregar o sacar columnas, se trata de ALTER TABLE, lo mismo que para agregar relaciones de foreign key, claves o índices.

Respecto a la dependencia, eso es un tema más base: Modelo Entidad-Relacion.
- Si una noticia se relaciona con N fotos, la FK de Noticia va en cad registro de cada Foto relacionada (1:N).
- Si una misma foto puede relacionarse con más de una noticia (N:N), necesitarás una tabla extra (tabla relacional), donde se colocan la FK de la notiica y la FK de la foto, siendo ambas la PK de la tabla (clave compuesta).
- Si la foto sólo puede ser de una noticia, y una noticia sólo puede tenr una foto (1:1), no necesita separarse en dos tablas. Pero ese, en un esquema como el que dices, sería un caso raro. Con que haya al menos un caso donde haya más de una foto relacionada a la noticia, ya la cardinalidad es 1:N.
Ver: http://es.wikipedia.org/wiki/Base_de_datos_relacional
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 14/01/2014, 10:03
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Es que no me has entendido o no me he hecho entender. Las imágenes de la tabla imágenes NO se relacionan con las noticias, son imágenes completamente aparte pero que quiero mostrar también en la página de inicio.

Por eso preguntaba si era necesario relacionarlas por el campo 'fecha'.

En la tabla noticias hago lo que comentas en el tercer punto o algo así. Guardo la ruta en un campo y luego la llamo por PHP.
  #6 (permalink)  
Antiguo 14/01/2014, 10:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Cita:
son imágenes completamente aparte pero que quiero mostrar también en la página de inicio.
OK, entonces tu problema no tiene nada que ver con MySQL ni con bases de datos. Es un problema de programación, y la base sólo interviene cuando obtienes las noticias y las imágenes, en consultas separadas.
Puntualmente, respecto a la fecha, si cada tabla tiene su fecha de alta, simplemente cada consulta la ordenas por fecha.... siempre y cuando hayas guardado la fecha como DATE o DATETIME (espero que no sean VARCHAR, porque sería una linda metida de pata).

Cita:
Es que no me has entendido o no me he hecho entender.
No es que yo no "quiera" entenderte. Es que en tu primer post preguntabas
Cita:
Claro que deben ir ordenadas según un criterio que obviamente es la fecha (así tengo la primera) pero ¿como se hace esto? ¿Debo relacionarlas? Y en caso verdadero, ¿como hago esto?
y con eso se entiende que hay relaciones entre ambas tablas, cosa que ahora aclaras que no es así
Y luego derivamos en un tema de tablas y sus modificaciones...
Para que quede claro, en este foro se trata exclusivamente de SQL y Bases de DAtos. No programación.

¿Con qué lenguaje estás trabajando?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 14/01/2014, 10:57
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Tenía pensado hacer dos consultas y ambas ordenarlas por fecha para que se mostraran en el index pero no sabía si podía generar un error de lectura en mysql. Sí están en datetime guardadas con la función NOW().

Estoy trabajando con PHP.
  #8 (permalink)  
Antiguo 14/01/2014, 10:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Movido a PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 14/01/2014, 11:47
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: ¿Como imprimir resultados de dos tablas al mismo tiempo?

Gracias :) Ojalá alguien me pueda ayudar por aquí :D

Etiquetas: mysql, relacionar, sql, 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 01:24.