Hola a todos, verán, en los ultimos meses estuve elaborando un sistema de mensajes privados para un sitio que tengo y todo funcionaba como lo esperaba hasta que me tope el momento en que necesitaba borrar los mensajes por parte de un usuario.
Uso tablas para manejarlo: la tabla CONVERSACIONES y la tabla MENSAJES y esta es su estructura.
Conversaciones:
id (int) auto increment
usuario_1 (int)
usuario_2 (int)
ultimo_mensaje (Datetime)
fecha_inicio (Datetime)
Mensajes:
id (int) auto increment
conversacion_id (int)
remitente_id (int)
receptor_id (int)
mensaje (text)
visto (tinyint)
leido (tinyint)
borrado_receptor (tinyint)
borrado_remitente (tinyint)
fecha_leido (datetime)
fecha (datetime)
Bien, trate de evitar que hubiera sobre carga de datos y solamente enviar un solo mensaje el cual se muestra a los, si se pudieron fijar tengo el campo borrado_receptor y borrado_remitente y con esto lograr que cuando una de las dos partes borrara la conversacion simplemente no se le mostrara los mensajes porque este ya le dio en borrar.
Ahora bien, Necesito ver sus opiniones, honestamente no creo que esta sea la mejor forma y tengo dudas con la forma en que lo estoy haciendolo.
El problema que presento actualmente es a la hora de obtener los mensajes que el usuario actual solicita donde EL es el receptor_id y borrado_receptor=0 y donde EL es el emisor_id y borrado_emisor= 0 (0 significa que no lo ha borrado) y crear una forma de paginar los mensajes para no mostrarlos todos.
Toda Opinion es bien recibida.
Gracias!