Foros del Web » Programando para Internet » PHP »

Una ayudita please...

Estas en el tema de Una ayudita please... en el foro de PHP en Foros del Web. Saludos Foreros, Tengo una pequeña (?) duda. Estoy desarrollando una aplicación intranet para una empresa, y en resumidas cuentas todo va bien, pero en una ...
  #1 (permalink)  
Antiguo 04/03/2004, 10:57
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Una ayudita please...

Saludos Foreros,

Tengo una pequeña (?) duda. Estoy desarrollando una aplicación intranet para una empresa, y en resumidas cuentas todo va bien, pero en una de las secciones existe (o mejor dicho "puede existir") una serie de mensajes entre el operador de la mesa de control y el usuario que postea cierta información ANTES de que estos datos puedan aceptarse o rechazarse.

Lo aclaro un poco más:

1.- El Usuario postea ciertos datos para dar de alta a un nuevo cliente

2.- El operador de Mesa de control revisa los datos, y si todo está bien, autoriza y asigna un numero de cliente.


3.- En caso contrario, el Operador de mesa de control postea un mensaje en relación a esa solicitud, por ejemplo "El teléfono que se pone como contacto marca como fuera de servicio"

4.- El usuario entonces puede responder a dicho mensaje, y así hasta que todo queda claro, y se decide si se autoriza o no.

(-- hasta aqui todo bien --)

LA PREGUNTA:

Tiene alguien idea como hacen ESTOS foros para identificar los mensajes que YO ya he leido y los que no?

Me gustaría poder mostrar a cada usuario cuales mensajes aún no los ha leido. Pero no es tan simple, pues ese mismo caso pueden accesarlo X cantidad de diferentes usuarios según su perfil. Y no quisiera que se manejara a nivel de sesión, pues un usuario puede conectarse y desconectarse del sistema para hacer muchas otras cosas, no solo entran a leer los mensajes.

No creo que deba mandar una cookie para cada mensaje leido, pues la cantidad de casos y mensajes va a ser muy grande.

Cualquier idea sirve para comenzar...


Saludos!
__________________
Manoloweb
  #2 (permalink)  
Antiguo 04/03/2004, 11:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm pues a simple vista se me ocurre guardame en una tabla relacionada con mi usuario concreto los ID's que el usuario ha abierto tipo "matriz":

[mensajes_vistos]
id_mensajes_vistos
id_usuario
id_mensaje

En este caso .. para decidir si ese mensaje ya lo vió debes hacer consultas tipo

SELECT * FROM mensajes,mensajes_vistos WHERE id_mensaje.mensajes <> id_mensaje.mensajes_vistos AND validacion del usuario

(la consulta SQL seguro que sería más optima usando intersecciones con INERT JOIN y demás .. )

No sé como se lo harán estos foros para ese tema .. yo tengo como 12mil mensajes xDD así que esa "matriz" para mi caso y multiplicado por la cantidad de usuarios que hay en forosdelweb puede ser gigantesca .. !!!

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/03/2004, 11:24
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Cluster, ese es un buen frente para atacar el problema.

Como dices, la consulta se optimiza si usamos un LEFT JOIN, mas o menos así...

SELECT a.* FROM mensajes a LEFT JOIN mensajes_vistos b ON a.id=b.id_mensaje WHERE b.id_usuario=$usr and b.id is NULL


Bueno, voy a ver como me va con esta opción, muchas Gracias Cluster!

(Si alguien tiene otro punto de vista, bienvenido!)

__________________
Manoloweb
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 11:03.