saludos amigos, tengo las siguientes tablas:
trasvalores:
id_trasvalores
monto_trasvalores_apertura
monto_trasvalores_actual
monto_trasvalores_cierre
fecha
id_usuarios
transferencias:
id_transferencias
n_transferencia
fecha
hora
monto_trasferido
porcentaje
ganancia
total
id_usuarios
id_bancos_admin
id_cuentas_admin
id_clientes
id_bancos
id_cuentas
portada
status
ahora lo que necesito hacer es lo siguiente:
la tabla trasvalores es para ingresar montos por día, ejemplo: el admin hoy ingreso un monto de 100$. que seria el monto para iniciar el dia de trabajo
Ahora la tabla transferencias: para qué sirve, esta tabla es para realizar transferencias a clientes lo que quiero lograr es que cuando se haga una trasferencia se vaya actualizando en la tabla trasvolares; ejemplo si tengo en trasvolares un monto de 100$ y hice una transferencia de 20$ ya me debe quedar 80$ disponibles en trasvolares, lo que se tendría que actualizar cada vez que se haga una transferencia seria el monto_trasvalores_actual de la tabla trasvalores, pero antes de hacer la insersion debería hacer una consulta a la tabla trasvalores si hay fondo disponibles si hay se ejecuta el código de lo contrario debería mandar a recargar trasvalores para poder seguir realizando transferencias. hasta los momentos tengo esto.
<?php
if(isset($_POST['guardar'])){
$sql = "SELECT monto_trasvalores_actual FROM trasvalores WHERE monto_trasvalores_actual = :monto_trasvalores_actual LIMIT 1"; //Creamos la select
$check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
$check->bindParam(':monto_trasvalores_actual', $_POST['monto_trasvalores_actual']);//Substituimos las variables de la SELECT
$check->execute();//Ejecutamos la consulta
$contador = $check -> rowCount();//Esta función devuelve el número de resultados que ha devuelto la SELECT
if ($contador > 2000) {
$check->closeCursor();
$errMSG = "¡ Ups Aviso: trasvalores insuficiente Por favor Actualize el monto!";
}
else
{
$imgFile = $_FILES['portada']['name'];
$tmp_dir = $_FILES['portada']['tmp_name'];
$imgSize = $_FILES['portada']['size'];
$upload_dir = '../galerias_transferencias/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$portada = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$portada);
}
else{
$errMSG = "¡ Lo siento, su archivo es demasiado grande !";
}
}
else{
$errMSG = "¡ Lo sentimos, sólo se permiten archivos JPG, JPEG, PNG y GIF !";
}
// si no hay errores continuo...
$sql = "SELECT n_transferencia FROM transferencias WHERE n_transferencia = :n_transferencia LIMIT 1"; //Creamos la select
$check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
$check->bindParam(':n_transferencia', $_POST['n_transferencia']);//Substituimos las variables de la SELECT
$check->execute();//Ejecutamos la consulta
$contador = $check -> rowCount();//Esta función devuelve el número de resultados que ha devuelto la SELECT
if ($contador > 0) {
$check->closeCursor();
$errMSG = "¡ Ups Aviso: El Registro ya se Encuentra Insertado !";
}
else
{
$sql=$DB_con->prepare("INSERT INTO transferencias (n_transferencia,fecha,hora,monto_trasferido,porcentaje,ganancia,total,
id_usuarios,id_bancos_admin,id_cuentas_admin,id_clientes,id_bancos,id_cuentas,portada,status) VALUES (
:n_transferencia,:fecha,:hora,:monto_trasferido,:porcentaje,:ganancia,:total,:id_usuarios,:id_bancos_admin,:id_cuentas_admin,
:id_clientes,:id_bancos,:id_cuentas,:portada,:status)");
$sql->bindParam(':n_transferencia', $_POST['n_transferencia']);
$sql->bindParam(':fecha', $_POST['fecha']);
$sql->bindParam(':hora', $_POST['hora']);
$sql->bindParam(':monto_trasferido', $_POST['monto_trasferido']);
$sql->bindParam(':porcentaje', $_POST['porcentaje']);
$sql->bindParam(':ganancia', $_POST['ganancia']);
$sql->bindParam(':total', $_POST['total']);
$sql->bindParam(':id_usuarios', $_POST['id_usuarios']);
$sql->bindParam(':id_bancos_admin', $_POST['id_bancos_admin']);
$sql->bindParam(':id_cuentas_admin', $_POST['id_cuentas_admin']);
$sql->bindParam(':id_clientes', $_POST['id_clientes']);
$sql->bindParam(':id_bancos', $_POST['id_bancos']);
$sql->bindParam(':id_cuentas', $_POST['id_cuentas']);
$sql->bindParam(':portada', $portada);
$sql->bindParam(':status', $_POST['status']);
$sql->execute();
$successMSG ="¡ Bien Hecho: Registro Insertado Correctamente !";
$monto_trasferido= 0;
$sql2 = "UPDATE trasvalores SET monto_trasferido=:monto_trasvalores_actual WHERE monto_trasvalores_actual=:monto_trasvalores_actual;";
$sql2=$DB_con->prepare($sql2);
$sql2->bindValue(":monto_trasvalores_actual",$monto_trasvalores_actual);
if ($sql2 ->execute())
{
//echo "Se actualizaron ".$sql2->rowCount()." registros";
}
else
{
//echo "Los registros no se actualizaron";
}
}
}
}
?>