Foros del Web » Programando para Internet » PHP »

Alguien me puede ayudar por favor

Estas en el tema de Alguien me puede ayudar por favor en el foro de PHP en Foros del Web. Holaa soy nuevo en esto asi que pues si cometo alguna infracción mis disculpas y espero que entiendan. bueno el problema que tengo es que ...
  #1 (permalink)  
Antiguo 20/03/2010, 18:27
 
Fecha de Ingreso: marzo-2010
Ubicación: Cali
Mensajes: 203
Antigüedad: 14 años, 1 mes
Puntos: 5
Alguien me puede ayudar por favor

Holaa soy nuevo en esto asi que pues si cometo alguna infracción mis disculpas y espero que entiendan. bueno el problema que tengo es que tengo un modulo de liquidaciones para licencias de construccion en el cual se trabaja con php y funciones en ajax para que las casillas de texto calculen el valor y lo muestren sin necesidad recargar la pagina. la funcion en ajax contiene un array donde estan capturados los nombre que hacen referencia a las casillas de texto utilizadas por las licencias y los case donde estan los procesos para el calculo del valor ingresado en cada casilla de texto, hay que tener en cuenta que muchos de los valores estan en la base de datos y son llamados a traves de una consulta como por ejemplo el salario minimo entre otras.los tipos de licencia que mencione son construccion, reconocimiento y urbanismo, lo que quiero es agregar adecuacion pero en esta el valor que muestre cada casilla que da el resultado debe ser el 50% de descuento a difierencia de la de contrucion y la otras, es la misma operacion y todo solo que el resultado es la mitad. he intentado crear otro case, hacer la condicion en los case pero nada. por favor si me pueden ayudar se los agradeceria demasiado. aca les dejo el codigo php referente a las casillas donde se ingresa el valor y las casillas que muestar el resultado.

Código PHP:
if(!session_is_registered('SALARIO_MIN')){
        
mysql_select_db($database_cx$cx);
        
//consulta el salario minimo mensual vijente
        
$query "SELECT valor
                  FROM configuracion
                  WHERE estado = 1 AND
                          descripcion = 'SALARIO_MIN_MENSUAL'
                  ORDER BY fecha_registro DESC
                  LIMIT 1"
;
        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
        
$result mysql_fetch_assoc($temp);
        
        
session_register('SALARIO_MIN''CV''CF''SALARIO_MIN_DIA');
        
        
$_SESSION['SALARIO_MIN'] = $result['valor'];
        
$_SESSION['SALARIO_MIN_DIA'] = number_format(($_SESSION['SALARIO_MIN'] / 30), 2'.''');
        
        
//consulta el porcentaje de CV
        
$query "SELECT valor
                  FROM configuracion
                  WHERE estado = 1 AND
                          descripcion = 'PORCENTAJE_CV'
                  ORDER BY fecha_registro DESC
                  LIMIT 1"
;
        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
        
$result mysql_fetch_assoc($temp);
        
        
$_SESSION['CV'] = number_format(($_SESSION['SALARIO_MIN'] * $result['valor']), 2'.''');
        
        
//consulta el porcentaje de CF
        
$query "SELECT valor
                  FROM configuracion
                  WHERE estado = 1 AND
                          descripcion = 'PORCENTAJE_CF'
                  ORDER BY fecha_registro DESC
                  LIMIT 1"
;
        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
        
$result mysql_fetch_assoc($temp);
        
        
$_SESSION['CF'] = number_format(($_SESSION['SALARIO_MIN'] * $result['valor']), 2'.''');    
        
        
//consulta el cargo fijo de la ciudad (m)
        
$query "SELECT valor
                  FROM configuracion
                  WHERE estado = 1 AND
                          descripcion = 'CARGO_FIJO_CIUDAD'
                  ORDER BY fecha_registro DESC
                  LIMIT 1"
;
        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
        
$result mysql_fetch_assoc($temp);
        
        
$_SESSION['M'] = $result['valor'];            
    }

    
// Funcion verifica que no existan dos cargos fijos en la generacion del oficio

    
function verificacion_cf($formulario){
            
$objResponse = new xajaxResponse();      
            
            
$array_tipos = array('VIVIENDA''VIVIENDA_VIS''COMERCIO''INDUSTRIA''INSTITUCIONAL');
            
            for(
$cont_p 1$cont_p <= 3$cont_p++){
                for(
$cont 0$cont count($array_tipos); $cont++){
                    
$name_campo strtolower($array_tipos[$cont])."_".$cont_p;
                    if(
$formulario[$name_campo] != '' && $formulario[$name_campo] != '0,00'){
                        
$totalCf++;
                    }
                }
            }    
            
            if(
$totalCf 1){
                
$objResponse->addAlert('No debe existir mas de un cargo fijo al tiempo');    
            }else{
                
$objResponse->addScript("document.form1.submit();");
            }
            
            return 
$objResponse;        
    }

    
// Funcion que recive le numero de vecinos que se van a digitar.

    
function liquidacion($formulario){
            global 
$database_cx$cx;
            
$objResponse = new xajaxResponse();  
            
mysql_select_db($database_cx$cx);
            
            
$array_tipos = array('VIVIENDA''VIVIENDA_VIS''COMERCIO''INDUSTRIA''INSTITUCIONAL');
            
            for(
$cont_p 1$cont_p <= 3$cont_p++){
                for(
$cont 0$cont count($array_tipos); $cont++){
                    
                    
$name_campo strtolower($array_tipos[$cont])."_cant_".$cont_p;
                    
$name strtolower($array_tipos[$cont])."_".$cont_p;
                    
                    
//descuenta el reforzamiento estructural (si aplica)
                                                
                        
$metros $formulario[$name_campo];
                                        
                    if(
$metros <= 0){
                        
$objResponse->addAssign($name"value""");
                        
$objResponse->addAssign(strtolower($array_tipos[$cont])."_total_".$cont_p"value""");
                        
$objResponse->addAssign("d_".strtolower($array_tipos[$cont])."_total_".$cont_p"innerHTML""");
                        continue;
                    }
                
                    switch(
$array_tipos[$cont]){
                        case 
'VIVIENDA':
                                        
//consulta el factor i
                                        
$query sprintf("SELECT valor
                                                          FROM configuracion
                                                          WHERE estado = 1 AND
                                                                descripcion = 'I_VIVIENDA_%s'
                                                          ORDER BY fecha_registro DESC
                                                          LIMIT 1"
$formulario['estrato_'.$cont_p]);
                                                          
                                        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
                                        
$result mysql_fetch_assoc($temp);            
                                        
                                        if(
mysql_num_rows($temp) == 1){
                                            
$total $_SESSION['CF'] * $result['valor'] *  $_SESSION['M'];
                                        }else{
                                            
$total 0;
                                        }
                                        
                                        
                                        
//descuenta la VIS (si aplica)
                                        
if($formulario['vivienda_VISD_'.$cont_p] == 1){
                                           
                                            
$descuento 1;
                                        }
                                        
                                        
                                        
$total number_format($total2'.''');
                                        
                                        
$tipo_j 'CONSTRUCCION';
                                        
                                        break;
                        case 
'VIVIENDA_VIS':
                                        
$total = ($_SESSION['SALARIO_MIN_DIA'] * 5) * $metros;
                                        
$total number_format($total2'.''');
                                        
                                        
                                        break;                                        
                        case 
'INSTITUCIONAL':
                        case 
'COMERCIO'   :
                        case 
'INDUSTRIA'  :
                                        
//consulta el factor i
                                        
$query sprintf("SELECT valor
                                                          FROM configuracion
                                                          WHERE estado = 1 AND
                                                                descripcion = 'OTRO_USOS_%s' AND
                                                                rango1 <= %s AND
                                                                rango2 >= %s
                                                          ORDER BY fecha_registro DESC
                                                          LIMIT 1"
$array_tipos[$cont], $metros$metros);
                                                          
                                        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
                                        
$result mysql_fetch_assoc($temp);            
                                        
                                        if(
mysql_num_rows($temp) == 1){
                                            
$total $_SESSION['CF'] * $result['valor'] *  $_SESSION['M'];
                                        }else{
                                            
$total 0;
                                        }
                                        
                                        
$total number_format($total2'.''');
                                        
                                        
$tipo_j 'CONSTRUCCION';
                                        
                                        
                                        
//descuenta la DOT (si aplica)
                                        
if($formulario['institucional_dot_'.$cont_p] == 1){
                                            
$descuento 1;
                                        }
                                        
                                        break;
                                            
                    }
//fin del switch
                    
                    
if($cont_p == 3){
                        
$tipo_j 'URBANISMO_PARCELACION';
                    }
                    
                    if(
$formulario[strtolower($array_tipos[$cont]).'_ref_est_1'] == 1){
                        
$descuento_ref 1;
                    }
                    
                    
//verifica si el cargo fijo lo setearon en CERO
                    
if($formulario['cero_'.$name] == 1){
                        
$total 0;
                    }
                    
                    
//asigna el cargo fijo
                    
$objResponse->addAssign($name"value"number_format(floor($total), 2',''.'));
                    
$cargo_fijo $total;
                    
$cargo_fijo_total += $cargo_fijo;
                    
                    
$I $result['valor'];
                    
                    
//consulta el factor J
                    
if($metros 0){
                        if(
$tipo_j == 'URBANISMO_PARCELACION'){
                            
$query sprintf("SELECT *
                                              FROM configuracion
                                              WHERE estado = 1 AND
                                                    descripcion = 'J_%s' 
                                              ORDER BY fecha_registro DESC
                                              LIMIT 1"
$tipo_j);
                        }else{
                            
$query sprintf("SELECT *
                                          FROM configuracion
                                          WHERE estado = 1 AND
                                                descripcion = 'J_%s' AND
                                                rango1 <= %s AND
                                                rango2 > %s
                                          ORDER BY fecha_registro DESC
                                          LIMIT 1"
$tipo_j$metros$metros);
                        }                  
                        
$temp mysql_query($query$cx) or die("Error ".__FILE__." - ".__LINE__."<br /><br />".mysql_error());
                        
                        
$result mysql_fetch_assoc($temp);            
                        
                        if(
mysql_num_rows($temp) == 1){
                            if(
$result['comentario'] == NULL || $result['comentario'] == 'NULL'){
                                
$J $result['valor'];
                            }else{
                                
$J $result['valor'] / ($result['comentario'] + ($result['valor2'] / $metros));
                            }    
                        }
                    }
                    
                    
$cargo_variable number_format(($_SESSION['CV'] * $I $_SESSION['M'] * $J), 2'.''');
                    
$cargo_variable_total += $cargo_variable;
                    
                    
//carga el total en el campo oculto
                    
$rvalor $total $cargo_variable;
                    if(isset(
$descuento)){
                        
$rvalor $rvalor 2;
                        unset(
$descuento);
                    }
                    if(isset(
$descuento_ref)){
                        
$rvalor $rvalor 0.3;
                        unset(
$descuento_ref);
                    }
                    
                    
$totales_ocultos += $rvalor;
                                
                    
$objResponse->addAssign(strtolower($array_tipos[$cont])."_total_".$cont_p"value"$rvalor);
                    
$objResponse->addAssign("d_".strtolower($array_tipos[$cont])."_total_".$cont_p"innerHTML"$rvalor); 

Etiquetas: favor
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 10:36.