Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

sistema de mensajes privados.

Estas en el tema de sistema de mensajes privados. en el foro de Bases de Datos General en Foros del Web. buenas, estoy desarrollando un sistemita de mensajes privados, en un principio lo plantie con una sola tabla - idmensaje - id para - id de ...
  #1 (permalink)  
Antiguo 17/09/2006, 02:08
 
Fecha de Ingreso: noviembre-2005
Mensajes: 8
Antigüedad: 18 años, 5 meses
Puntos: 0
sistema de mensajes privados.

buenas, estoy desarrollando un sistemita de mensajes privados,
en un principio lo plantie con una sola tabla
- idmensaje
- id para
- id de
- asunto
- mensaje
- fecha
- leido

hasta aca todo bien, pero me gustaria agregarle mas funcionalidad, vease la posiblidad de borrar mensajes, ver los mensajes eliminados, ver los mensajes enviados y demas.

por lo que el estado del mensaje se deberia manejar independiente para el usuario que lo envio y quien lo recibio.. a lo que voy, si el usuario que recibio borra el mensaje, no debe desaperecer de la carpeta 'mensajes enviados' de quien envio.

tengo 2 soluciones,
seguir manejandome con una sola tabla agregando 'carpeta en receptor' y 'carpeta en emisor', que pueden ser 'sin leer','recibidos', 'enviados',
papelera', etc. que tambien me permite en un futuro agregar un sistema para crear carpetas y mover mensajes.

o manejarme con dos tablas clones, una para mensajes enviados y otra para mensajes recibidos, lo que me permite por ejemplo borrar un mensaje de una y mantenerlo en otra.

a priori me convence mas seguir con una sola tabla, pero veran, no me cierra.
escucho sugerencias.
gracias.
  #2 (permalink)  
Antiguo 17/09/2006, 02:43
Avatar de sergiolimo.  
Fecha de Ingreso: julio-2006
Ubicación: Yakarta
Mensajes: 73
Antigüedad: 17 años, 10 meses
Puntos: 1
No te hagas tanto lio. pone un campo mas que sea "ubicacion" o algo parecido donde por ejemplo si vale 0 significa que esta borrado y no se muestra, pero si en la carpeta de borrados... o si vale 1 que este disponible pero sin leer, si vale 2 es que esta leido, si vale 3 es que esta en la carpeta de elementos guardados, etc, etc, con eso trabajas con 1 sola tabla y preguntando 1 solo dato sabes en que estado se encuentra, al menos es lo que se me ocurre ahora, nunca hice un sistema asi pero yo lo intentaria de esa forma.
Espero haberte ayudado
  #3 (permalink)  
Antiguo 17/09/2006, 20:34
 
Fecha de Ingreso: noviembre-2005
Mensajes: 8
Antigüedad: 18 años, 5 meses
Puntos: 0
gracias por tu rta. :)
y si, de echo finalmente opte por hacerlo de esa manera.
salud.
  #4 (permalink)  
Antiguo 20/09/2006, 03:50
 
Fecha de Ingreso: febrero-2002
Mensajes: 59
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola donfido.

Tengo que hacer exactamente lo mismo para mi web, un sistema de mensajes privados, ¿serías tan amable de publicar el código del tuyo para tener una base? Si no te importa, claro. Tengo que programar un montón de scripts y no tengo tiempo para empezarlos todos de cero
__________________
Gatorrollo
http://www.diegoml.com
  #5 (permalink)  
Antiguo 20/09/2006, 06:38
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 10 meses
Puntos: 5
Hola, no entiendo muy bien como lo haces ahora... pero no te iria mejor crear varias tablas e indexarlas:
ej->
Tabla usuarios: id_usuario,nombre, etc
Tabla mensajes: id_mensaje,id_usuario,titulo,texto....

e indexas por id_usuario, creo que de esta forma lo podrias manejar mejor...
  #6 (permalink)  
Antiguo 20/09/2006, 07:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Moví el mensaje al foro de Base de datos para que discutan sobre el mejor sistema "normalizado".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:22.