Foros del Web » Programando para Internet » PHP »

Ordenar temas de un foro con 2 filtros

Estas en el tema de Ordenar temas de un foro con 2 filtros en el foro de PHP en Foros del Web. Vereis me he hecho un pequeño sistema de foros en php, estoy haciendo pruebas y funciona muy bien, pero me he encontrado con el siguiente ...
  #1 (permalink)  
Antiguo 24/03/2011, 08:04
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Ordenar temas de un foro con 2 filtros

Vereis me he hecho un pequeño sistema de foros en php, estoy haciendo pruebas y funciona muy bien, pero me he encontrado con el siguiente problema: la forma en que se ordenan los temas de un determinado foro.

Ahora se ordenan por el ultimo tema que ha recibido una respuesta, el problema es que si un usuario escribiera un nuevo tema, este no se pone el primero de la lista, pues como he mencionado los temas estan ordenados mostrando primero los que tienen una respuesta mas reciente.

La pregunta es ¿como puedo ordenar los temas de forma que primero aparezcan a la vez los temas nuevos y los temas que han recibido una respuesta?

Gracias
  #2 (permalink)  
Antiguo 24/03/2011, 08:12
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Ordenar temas de un foro con 2 filtros

Hola amigo mostranos solo la query que haces para traer el listado de temas.

de todos modos es algo muy facil lo tuyo.

ordenalos por fecha en que se envia el mensaje
  #3 (permalink)  
Antiguo 24/03/2011, 09:28
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Ordenar temas de un foro con 2 filtros

Verás, en la consulta uso left join, ya que tengo los temas en una tabla y las respuestas en otra. Estoy probando esto:

greatest(fecha_tema , fecha_respuesta) AS "fecha_ultima"

Así en teoría me da la fecha más alta que encuentra del tema y sus respectivas respuestas, y puedo ordenar por "fecha_ultima". El problema que tengo ahora es que si no hay respuestas para un tema ("fecha_respuesta" esta vacío), en "fecha_ultima" no me devuelve la fecha del tema.

Alguna solución? Gracias
  #4 (permalink)  
Antiguo 24/03/2011, 10:14
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Ordenar temas de un foro con 2 filtros

Ok, parece que ahora funciona correctamente, lo he dejado asi


Código MySQL:
Ver original
  1. if(m.m_fecha != '', MAX(GREATEST(t.t_fecha , m.m_fecha)), t.t_fecha) AS 'fecha_ultimo_m'

Se ordena por fecha_ultimo_m de forma descendente y listo, parece que funciona. Voy a seguir haciendo pruebas

Etiquetas: orden, temas, foros
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 21:28.