Estoy usando el modo QuickModeForms, y he generado un formulario de captura para usuarios.
A cada registro que se introduce le debo asignar un número de registro consecutivo (00001, 00002, 00003, etc, ect...) dicho registro debe ser unico e irrepetible, pero se me presenta el problema que cuando dos o mas usuarios pulsan ENVIAR al mismo tiempo, el núero de registro se duplica en la base de datos, por lo tanto al mostrar el número asignado al reporte, este está duplicado o triplicado para estos diferentes usuarios.
¿Que puedo hacer para que esto no suceda y cómo debo hacerlo?
Saludos y gracias.
URL del sitio: Contenido solo visible a usuarios registrados
Hola,
La única forma de evitar duplicados cuando hay 2 usuarios rellenando un formulario al mismo tiempo sería obteniendo el número de registro una vez que se haya guardado el formulario, ya que mientras tanto no se puede saber cuál se guardará primero.
Por ejemplo, podrías usar el id de registro del propio formulario de BreezingForms que se guarda en la tabla #_facileforms_records (cambiando el # por el prefijo que utilices en tu base de datos). Ese campo id será único para cada registro.
Hola Pablo, gracias por tu respuesta.
Mi experiencia en programación es poca. Por otra parte, estoy utilizando el Integrator con una propia base de datos donde integro los campos necesarios para posprocesarla y dentro de esta información utilizo este Id.
¿Es posible que me pudieras orientar con el código y en que parte del formulario debo hubicarlo para obtener el ID que me comentas y como lo puedo integrar a esa base de datos personalizada?
Saludos y gracias.
Hola Jose
Debes obtenerlo desde la tabla de la base de datos, todos los registros tienen un ID único puedees usar este id para identificar los registros en tu formulario.
Supongo que Integrator te refieres a una extensión para consultar datos desde la BD, por lo tanto puedes consultar la tabla indicada de BF #_facileforms_records, específicamente el campo de ID.
Saludos.
Hola Jhon, gracias por tu repuesta.
Entiendo que dicho ID lo debo obtener desde la tabla de la base de datos. Por otra parte el Integrator es una funcionalidad de BF que me permite ligar los datos capturados en mi formulario con mi propia Tabla y no para consultar la tabla, el asunto es el siguiente de acuerdo con mi ultimo comentario hacia Pablo:
Mi experiencia en programación es poca.
¿Es posible que me pudieran orientar con el código y en que parte del formulario debo hubicarlo para obtener el ID que me comentas y como lo puedo integrar a la base de datos personalizada?
Saludos y gracias.
Hola,
El problema está en que el id no lo vas a poder obtener hasta que se guarde el formulario, ya que antes solo podrías conocer el id del registro anterior y, en el caso de que haya 2 usuarios rellenando el formulario a la vez, se les podría asignar el mismo id.
Por tanto, la solución estaría en una vez que se haya guardado el formulario se cargase una nueva página que obtuviese el id con el que guardó el formulario. Esto requerirá de algo de programación. Ten en cuenta que en el foro, tal como se puede leer en la cabecera, no damos soporte a temas de programación.
Si no necesitases un numeración consecutiva sino que fuera distinta, podrías optar por usar como id la fecha en formato Unix.