[Ovillo] [OT] almacenar resolución de pantalla en base de datos (¡SOLUCIONADO!)

Rodrigo Álvarez Virgós rodri.virgos en gmail.com
Vie Oct 5 11:49:50 UTC 2007


Hola, Ovillo

Os pongo aquí mi solución por si a alguien más le resulta útil. Supongo 
que habrá otras formas más elegantes, pero a mí ésta me sirve :-P

0.- En el esquema de la base de datos, poner n/a como valor predeterminado.

1.- Para generar una visita, hacer un "insert" en la bd para todos los 
campos (ip, fecha, etc) excepto para la resolución (se inserta "n/a" por 
omisión.
2.- Comprobar si llega la resolución por POST.
  2a.- Si llega, hacer un "update" en la base de datos para el anterior 
"insert".
  2b.- Si no llega, recargar con js el navegador con la resolución.

De esta manera,
- Si el cliente tiene js: se realizan los pasos 1, 2b, 1 y 2a. Se 
ejecuta dos veces el paso 1, pero al tener (en mi caso) la ip y la fecha 
como clave primaria, no se inserta el registro por duplicado, pero sí se 
actualiza con los datos de la resolución.
- Si el cliente no tiene js: se realizan los pasos 1 y 2b. Al no tener 
js, no se realiza la redirección y el registro queda insertado con "n/a" 
como valor de la resolución en el registo correspondiente.


Más información sobre la lista de distribución Ovillo