Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ajax , Php , Mysql , Transacciones

Estas en el tema de Ajax , Php , Mysql , Transacciones en el foro de Frameworks JS en Foros del Web. Hola Buenas. Una pregunta haber si alguin hizo algo parecido. Miren tengo varios bloques de codigo cada boque hace un actualizacion o un insertado a ...
  #1 (permalink)  
Antiguo 27/03/2007, 17:31
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Ajax , Php , Mysql , Transacciones

Hola Buenas.

Una pregunta haber si alguin hizo algo parecido.

Miren tengo varios bloques de codigo cada boque hace un actualizacion o un insertado a varias tablas.
y lo importante de esto es que si un boque no se cumple `pues anule todo l o echo anteriormente.

bueno para el envio de esto lo que ago pues es enviar con ajax cada bloque .
los separo porque cada bloque tiene una serie de datos incluso hasta mas de 30 cada uno y en otro pues tienen hasta matrices de datos. y todo lo tengo que enviar al servidor. pues lo que deseo hacer es :
que cuando ago el primer envio para el archivo funciones.php
pues se inicie la transaccion BEGIN . y cuando ago el resto que pues que no se cierre el inicio de la transaccion y solo cuando ago el ultimo envio al archivo funciones.php o encuentre algun error pues que se aga el COMMIT o ROLLBACK.

Esto es mas o menos lo que tengo dentro del archivo funciones.php como ejemplo.



if($_GET['Actualizar1']){

begin_tran($handle);


$sql = "
update cliente
set nombre_cliente = 'Felipe Francia'
where id_cliente = 1
";

$tb=mysql_query($sql, $handle);
if(!$tb){
roll_tran($handle);
die("Error al actualizar nombre_cliente");
}

}


if($_GET['Actualizar2']){



$sql = "
update cliente
set nacionalidad_cliente = 'Chinchano'
where id_cliente = 1
";

$tb=mysql_query($sql, $handle);
if(!$tb){
roll_tran($handle);
die("Error al actualizar nacionalidad_cliente");
}

}

if($_GET['Actualizar3']){


$sql = "
update cliente
set observa1 = 'Ver si resulta la Transaccion'
where id_cliente = 1
";

$tb=mysql_query($sql, $handle);
if(!$tb){
roll_tran($handle);
die("Error al actualizar observa1");
}

end_tran($handle);
}

cada if (.....) es una llamada que hace un archivo html con ajax .


si por forzamos un error en el segundo if (....)

pues se tiene que desacer lo que se hizo con el primer envio.
Esto lo que puse con los if no me funciona supongo que debe de ser porque como entra al archivo funciones.php. pues tambien sale a la vez .

y el begin_tran(.....) no se queda permanente en el mysql sino que se termina una vez termina el primer if(....).

Alguien sabe que se puede hacer en este caso.
Porfa no me dean soluciones que lo aga todo en un solo if(....) . porque esto es solo un ejemplo y cada uno tiene en la realidad tiene un sin fin de filas que insertan y actualizan.
Gracias
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 18:06.