Extracción de posts por orden de tiempo en un foro

  • Autor Autor zero477
  • Fecha de inicio Fecha de inicio
zero477

zero477

Gamma
SEO
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos,

La tabla POST contiene las variables postid y threadid
La tabla THREAD contiene la variable threadid y forumid

La tabla FORUM contiene THREADS y los THREADS contienen POSTS

Necesito sacar todos los posts contenidos en el FORUM en orden de tiempo.

Estoy atorado ..... voy algo asi:

PHP:
				SELECT * 
				FROM " . TABLE_PREFIX . "post 
				WHERE threadid=(SELECT threadid
                                                                       FROM " . TABLE_PREFIX . "thread
                                                                       INNER JOIN forum
                                                                       ON thread.threadid=forum.threadid
                                                          )
				ORDER BY dateline DESC
  				LIMIT 10"

Pero no me sale ¿ayuda?
 
Última edición:
Buenas, a ver si te funciona así:

Insertar CODE, HTML o PHP:
SELECT * FROM post
WHERE threadid IN (SELECT threadid FROM thread INNER JOIN forum ON thread.forumid=forum.forumid)
ORDER BY dataline DESC;

Eso te los dará todos, le tienes que añadir el LIMIT para cojer los que quieras.

Un saludo 😉
 
Última edición:
GRacias amigo,

No jaló ... creo que falta algo que le haga saber al query que sólo hay un forum ID ... no todas las filas donde coinciden las tablas
 
creo que falta algo que le haga saber al query que sólo hay un forum ID
No te entedí muy bien, pero Si lo que quieres es que solo ponga el primer resultado prueba poniendo el LIMIT 1
 
GRacias amigo,

No jaló ... creo que falta algo que le haga saber al query que sólo hay un forum ID ... no todas las filas donde coinciden las tablas

¿Qué error te da?

Si solo hay un único forum ID, entonces la subconsulta solo sería "SELECT threadid FROM thread", quedaría así:

Insertar CODE, HTML o PHP:
$consulta="SELECT * FROM ".TABLE_PREFIX."post
WHERE threadid IN (SELECT threadid FROM ".TABLE_PREFIX."thread)
ORDER BY dataline DESC";

TABLE_PREFIX tiene que ser una constante previamente definida.

Un saludo 😉
 

Temas similares

Atrás
Arriba