Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/01/2008, 22:43
usermax
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Join con mysql

Es complicado asi.
Yo haría una sola tabla... supongamos que se llame post.
En esa tabla le agregas un campo que se llame "parentid".

En el caso que sea un tema nuevo en el parentid le agregas 0.
Si son respuestas entonces le agregas en parentid el id del tema que se responde (el de arriba).

Entonces haces una sola consulta:

Código PHP:
$tema 1;
$consulta "SELECT p.* FROM post As p
             INNER JOIN usuarios As u ON p.id_user=u.id
             WHERE (p.id ='"
.$tema."' || p.parentid = '".$tema."')
             ORDER BY p.id"

Luego al hacer el while ya sabes que la primera vuelta es el tema y que las siguientes son respuestas.

Si quieres consultar sólo los temas entonces la sentencia sería algo así:

Código PHP:
$consulta "SELECT p.* FROM post As p
             INNER JOIN usuarios As u ON p.id_user=u.id
             WHERE p.parentid = '0'
             ORDER BY p.id"




De la otra forma claro que se van a repetir datos, específicamente el del tema ya que estas uniendo dos tablas, en una tienes una sola entrada y el la otra puedes tener muchas.

Bueno, es una idea que se me ocurrió al leer tu consulta y espero que te oriente.

Saludos