Hola, como estan, tengo un problema con el manejo de transacciones en postgresql cuando se inician en un archivo de funciones, para dar mayor detalle explico como estan los archivos.
1-un archivo de php que contiene la cabecera del sistema, el el pie y algunas biñetas html para el estilo.
2-un archivo php que contiene las funciones que interactuan con el otro archivo.
tengo una funcion crear_formulario, ya que este debe generarse dinamicamente, este consta de varia partes, victimas, agresores, y varios. ahora bien con el guardado no hay problema por que todo se ejecuta en una misma funcion que es guardar, la situacion se da cuando quiero actualizar datos (entiendase por actuializar no solo cambiar datos de cualquier parte del formulario sino tambien borrar una victima o un agresor).
almento de cargar el fomulario en el archivo de funciones inicio la transaccion con un pg_query("BEGIN"), para que todos los updates, deletes o insert se realicen en la misma transaccion y hago el COMMIT o ROLLBACK dependiendo de los errores.
cada victima y cada agresor tienen un boton borrar que llama a una funcion eliminar la cual borra de la base de datos y las parte del formulario conserniente.
Antes de borrar se verifica que halla mas de uno de lo contrario imprimo un mensaje de error diciendo que no se puede borrar por ser el ultimo
esto lo hago con el pg_num_rows
aunque estos deletes estan dentro de la transaccion el select que cuanta los registros siempre envia dos aunque ya se haya ejecutado mas de una vez
agradesco cualquier colaboracion, idea o posible solucion
Enviar nuevo comentario