Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2011, 10:40
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
mostrar mensajes y respuestas

Gente: programé un script para que los usuarios de un sitio puedan dejar un mensaje, y los clientes, logueándose, puedan responderlos.
Los mensajes y las respuestas se guardan en un tabla en mysql, así:

id, id_usuario, id_cliente, fecha, mensaje, estado, id_origen

en donde estado es "pendiente" o"respondido" e id_origen guarda el id del mensaje original al cuál se está respondiendo (es decir, si un usuario deja un mensaje se graba con id 1 y queda con estado "pendiente" e id_origen vacío, y cuando el cliente responde, grabándose con id 2 e id_origen pasa a tener el valor 1 (es decir, el del id del mensaje original del cuál éste es la respuesta). Además, el mensaje originario, con id 1, pasa su estado a "respondido".
A su vez, si el usuario re-responde, esta respuesta tendrá un id 3, con estado "pendiente" y el id_origen va a ser el id 2, mientras que el mensaje con id pasará su estado a "respondido" y así sucesivamente.

Mi pregunta es, de qué manera puedo hacer una consulta que los liste, pero muestre los mensajes y sus respuestas debajo, como en algunos foros, con una tabulación o "bullets" o algo así.

Puedo hacer la consulta común tipo


Código:
$sql="SELECT *, men.nombre as nombre_mensaje, men.id as idmen, men.email as email_mensaje, un.nombre as nombre_unidad, prop.nombre as nombre_propiedad from pactemos_mensajes men
inner join pactemos_unidades un
on men.id_unidad=un.id

inner join pactemos_propiedades prop
on un.id_propiedad=prop.id

where prop.id_usuario='$user_id' order by $orden";
Pero no se me ocurre cómo combinar esto con las respuestas en la consulta, ni mucho menos cómo mostrarlo en php.

quizá alguien hizo algo parecido y me pueda ayudar.

Gracias a todos.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar