Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/03/2011, 12:59
Avatar de omar_gutierrez
omar_gutierrez
 
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Decontando de tabla mysql condicionalmente

Ok primero que nada:



Estaba haciendo las modificaciones en el respaldo, y por lo tanto no veia reflejados los cambios, por el momento este es el PHP completo:

Código PHP:
<?php
//1. Crear conexión a la Base de Datos
$conexion mysql_connect("localhost","root","");
if (!
$conexion) {
die(
"Fallo la conexión a la Base de Datos: " mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd mysql_select_db("knw_2"$conexion);
if (!
$seleccionar_bd) {
die(
"Fallo la selección de la Base de Datos: " mysql_error());
}
//3. Tomar los campos provenientes del Formulario
$num_ped $_POST['num_ped'];
$cve_prov $_POST['cve_prov'];
$numfact $_POST['numfact'];
$sec $_POST['sec'];
$fraccion $_POST['fraccion'];
$subd $_POST['subd'];
$vinc $_POST['vinc'];
$met_val $_POST['met_val'];
$umc $_POST['umc'];
$cantidad_umc $_POST['cantidad_umc'];
$umt $_POST['umt'];
$cantidad_umt $_POST['cantidad_umt'];
$pvc $_POST['pvc'];
$pod $_POST['pod'];
$con $_POST['con'];
$tasa $_POST['tasa'];
$TT $_POST['TT'];
$fp $_POST['fp'];
$importe $_POST['importe'];
$descripccion $_POST['descripccion'];
$val_aduusd $_POST['val_aduusd'];
$imp_precio_pag $_POST['imp_precio_pag'];
$precio_unit $_POST['precio_unit'];
$val_agreg $_POST['val_agreg'];
$marca $_POST['marca'];
$modelo $_POST['modelo'];
$codigo_producto $_POST['codigo_producto'];
$observaciones $_POST['observaciones'];
//campos de los permisos especiales a validar
$clave_regulacion $_POST['clave_regulacion'];
$num_permiso $_POST['num_permiso'];
$firma_descargo $_POST['firma_descargo'];
$va_com_dls $_POST['va_com_dls'];
$cantidad_umtc $_POST['cantidad_umtc'];
$fecha_actual $_POST['fecha_actual'];

//4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automaticamente)


$insertar mysql_query("INSERT INTO partidas (NUM_PEDIMENTO, CVE_PROVEEDOR, NUM_FACTURA, SEC, FRACCION, SUBD, VINC, MET_VAL, UMC, CANTIDAD_UMC, UMT, CANTIDAD_UMT, PVC, POD, CON, TASA, TT, FP, IMPORTE, DESCRIPCION, VAL_ADUUSD, IMP_PRECIO_PAG, PRECIO_UNIT, VAL_AGRE, MARCA, MODELO, CODIGO_PRODUCTO, O_N_P, CVE_REGULACION, NUM_PERMISO, FIRMA_DESCARGO, VAL_COM_DLS, CANTIDAD_UMTC)
VALUES ('{$num_ped}', '{$cve_prov}', '{$numfact}', '{$sec}', '{$fraccion}', '{$subd}', '{$vinc}', '{$met_val}', '{$umc}', '{$cantidad_umc}', '{$umt}', '{$cantidad_umt}', '{$pvc}', '{$pod}', '{$con}', '{$tasa}', '{$TT}', '{$TT}', '{$importe}', '{$descripccion}', '{$val_aduusd}', '{$imp_precio_pag}', '{$precio_unit}', '{$val_agreg}', '{$marca}', '{$modelo}', '{$codigo_producto}', '{$observaciones}', '{$clave_regulacion}', '{$num_permiso}', '{$firma_descargo}', '{$va_com_dls}', '{$cantidad_umtc}')"
$conexion);
if (!
$insertar) {
die(
"Fallo en la insercion de registro en la Base de Datos: " mysql_error());
}

        
$consulta mysql_query("SELECT * FROM toxicos_sustancias_peligrosas where NUM_AUTORIZACION = '$num_permiso'");
        
$row mysql_fetch_array($consulta);
        
switch (
$clave_regulacion) {

    
//REGLA OCTAVA
    
case "CA":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"CM":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"CP":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"C1":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"C2":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"C6":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"M6":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"AV":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"IM":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        case 
"NM":
       
$insert mysql_query("UPDATE octava SET CANTIDAD_EN_NUMERO = CANTIDAD_EN_NUMERO - '$cantidad_umtc' WHERE NUM_PERMISO = '$num_permiso'");
if (!
$insert) {
die(
"NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE REGLA OCTAVA: " mysql_error());
}
        
//echo "";
        
break;
        
        
        
        
//PERMISO DE TOXICOS
    
case "PF":
    
    if (
$row['CANTIDAD'] > '0') {
        
$insert mysql_query("UPDATE toxicos_sustancias_peligrosas SET CANTIDAD = CANTIDAD - '$cantidad_umtc' WHERE NUM_AUTORIZACION = '$num_permiso'");
if (!
$insert) {//falta condicion para fechas y cantidad
die("NO SE PUDO DESCONTAR LA CANTIDAD DEL PERMISO DE SUSTANCIAS PELIGROSAS: " mysql_error());
}
        else
        
        if (
$row['CANTIDAD'] <= '0'){
        
        echo 
"ya se termino el permiso";
        }
    }
        
//echo "";
        
break;
        
    case 
"":
        echo 
"ESTA PARTIDA NO TIENE PERMISOS ESPECIALES";
        break;
    
}

//4. Cerrar conexión a la Base de Datos
mysql_close($conexion);
?>
Aclaro que por el momento solo estoy haciendo pruebas con la opcion "PF", por el momento esta funcionando a medias, porque a medias?:

Digamos el permiso "1234" tiene para 100 kg, el usuario descarga los 100 KG y se hace la resta; el usuario quiere descargar de nuevo del permiso "1234", quiere descargar digamos 30KG, en efecto, no hace dicha descarga, YA SE QUEDA EN CEROS!!, pero no muestra ningun mensaje :(, a demas la aplicacion continua capturando el resto de los datos. Creo que esto es algo interesante y puede serle util a aguien, les seguire manteniendo informados.