entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Ordenar varias tablas en MySQL

Tengo un sitio web en PHP que se compone de videos, canciones, imagenes y todo ello esta relacionado mediante una BD, me gustaria hacer una pagina principal en la que se muestre toda la informacion que contienen estas tablas. Cada tabla tiene un campo que contiene la fecha de subida y quiero que en la pagina de inicio aparezcan todas las tablas ordenadas por su fecha de subida, sin importar de que tabla provengan.

2 Respuestas

1voto

white Puntos75880

con una sentencia sql ORDER BY fecha ASC bastaría creo yo, eso si, suponiendo que tu campo esta en unix time, sino solo seria de formatear el campo, cual es tu duda principal, como realizar la consulta o como ordenar los datos de la base de datos?

1voto

Leonardo-Tadei Puntos227320

Si las columnas de las tablas no son iguales, deberías hacer una query para videos, otra para cancines y otra para imágenes.
A las querys las ordenás por fecha... pero no olvides ponerle una clásula LIMIT para que por ejemplo se muestren las últimas 30 y no todas, ya que al crecer la cantidad de datos harás que la página no termine nunca de cargar:

SELECT * FROM Videos ORDER BY fecha ASC LIMIT 1,30

Si la estructura de las tablas fuera idéntica, podrías hacer primero una UNION entre ellas, de forma tal de devolver las 3 cosas mezcladas y ordenadas por fecha.

Si no es idéntica y quisieras mostrar los datos mezclados, tendrías que cargar la salida de las querys en un vector y ordenarlo luego.

Envíanos como comentario a tu pregunta la estructura de las tablas y te podremos ayudar de mejor manera!

Saludos cordiales

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta