Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/02/2012, 06:45
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Sistemas de avisos

Esta tabla y la de estado_receptor serian asi?????? Si, pueden ser así. Para los estados yo haria una nueva tabla estados:
id_estado nombre
En las tablas de estado_emisor y estado_receptor no pones el nombre del estado sino el id del estado.



Para enviar mensajes: insertas UN registro donde:

EMISOR, el id del usuario en esta session( Esto seria de la tabla Usuarios nombre_user o de la tabla avisos nombre_user creo que de Usuarios NO, nunca el nombre, siempre el ID del usuario
RECEPTOR, es el que recibe el mensaje, equivale al campo FROM de un email. Como ya te comenté antes, "emisor" y "receptor" son conceptos muy confusos, de ahí que tengas tantos problemas para entenderlo.
ESTADO_EMISOR 2, cada vez que el usuario envia, se guarda en enviados. Es un ejemplo, pero por lo general, si mando un email, automaticamente se guarda en mi carpeta de enviados. Puede ser cualquier cosa que tu quieras.
ESTADO_RECEPTOR 0, para el receptor, inicialmente el mensaje va a la bandeja de entrada. Idem anterior.

En el receptor no tienes nada????????? Si vas a tener una tabla de mensajes y otras dos de estados, entonces, por cada mensaje que se envia has de tener un registro en la tabla estado_receptor y estado_emisor. No conozco los detalles de tu aplicación pero por cada mensaje, 3 inserts:
1 para el mensaje
1 en estado_emisor
1 en estado_receptor


Asi seria el upload en la pagina principal :

Upload de enviados
emisor=nombre_user parámetro tabla usuarios nombre_user Referencia por ID no por NOMBRE(cual)
receptor=nombre por la variable de session MM_Username Referencia por ID no por NOMBRE(cual)
emisor=estado_emisor por el parametro aviso_id ) ¿Esto es asi?
receptor=estado_receptor por el parametro usuario_id )¿Esto es asi?
Tambien en recibidos,favoritos,eliminados NO, nada de esto es así. Empieza de nuevo.
Tienes un sistema de mensajes. Cada mensaje es un registro que se guarda en una DB.
Para saber de quién son y a quién van los mensajes, en cada registro de mensaje guardas los id de usuario, de manera que en tu DB se ve algo así (por cada mensaje):
id_mensaje asunto cuerpo emisor receptor
4544354 Hola Mensaje de prueba 23 56
Para saber quienes son el 23 y el 56 lo tienes que guardar en la tabla de usuarios.
A su vez, en las tablas 'estado_receptor' y 'estado_emisor' guardas un registro en cada una, de manera:
id_mensaje id_estado
4544354 456
El id de mensaje lo obtienes de la tabla mensajes, el id_estado de la tabla estado.
FIJATE QUE TODO SE REFERENCIA POR ID, NUNCA POR OTRA COSA.

Las carpetas a que te refieres, enviados, eliminados, etc... se guardan en otra tabla que se puede llamar estados o carpetas. Si el emisor mueve el mensaje a la carpeta eliminados, entonces actualizas la tabla, en el mensaje 34324, el estado es X.

No sé si lo estás pillando, a ver si esta vez funciona. Saludos,
__________________
Fere libenter homines, id quod volunt, credunt.