Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/02/2011, 12:20
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Manejo de registros simultáneos.

Cita:
En caso que uno le de enviar primero que el otro, como el php que registra también pregunta por el consecutivo le mostrará al segundo un mesaje comunicándole que su comprobante se registró con 01-101 porque ya otro usuario registro el 01-100. Pero si los dos le dan enviar al tiempo, en el php que registra, la función traerá el mismo consecutivo y $num sera '01-100' para los dos usuarios. Y guardará en la tabla dos comprobantes 01-100.
Si te entendí bien, en php trae el 01-100 y lo muestra en los formularios de ambos usuarios. Si uno le da click primero, este se guarda sin problemas. Cuando el otro usuario (con 01-100) le da click, el sistema valida si este "num" ya se encuentra en la base de datos y lo guarda con el 01-101. Tu preocupación es si ambos usuarios le dan click en el mismo microsegundo la informacion que se guarde sea la misma y genere inconsistencia. Es así?

Si es así, una posible solución es poner el campo num de la tabla con una UNIQUE KEY. La cual impide datos repetidos en el campo de la tabla. Como esto es poco probable que pase en el mismo instante, lo que hará postgresql es generar una excepción y devolver un error de tipo (violate unique constraint) el cual puedes controlar desde php.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming