Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2009, 21:51
lennhix
 
Fecha de Ingreso: octubre-2009
Mensajes: 74
Antigüedad: 14 años, 5 meses
Puntos: 0
Exclamación Ayuda con operación matematica en PHP !

Hola he cabeceado todo el día...

Lo que debo hacer es que siempre quede en porcentaje 100%, dejare una imagen.

En donde dice Porcentual: La Suma de esto siempre debe dar 100 %



Bueno lo que yo trato hacer es que al modificar un Porcentual, haga la siguiente operación:

Código PHP:
session_start();
require_once 
'../../config/mysql.php';
$dbCon Conectarse();

$productor                $_GET['productor'];
$especie                 $_GET['especie'];
$variedad                 $_GET['variedad'];
$etapa                     $_GET['etapa'];
$calibre                $_GET['calibre'];
$columnas                $_GET['columnas'];
$porcentualReal            $_GET['porcentualReal'];  // El porcentaje primario 1.9
$porcentual             $_GET['campoPorcentual']; // Lo que ha digitado en la casilla 2 - Este lo UPDATE
$porcentualFinal         $_GET['porcentualFinal']; // Capturamos el porcentaje total
$quantyColumnas          = ($columnas 1);
$calculo                 $porcentualReal $porcentual// -0.1 Este lo sumo una vez o Con todos

mysql_query("UPDATE criterio_calibres SET valor_porcentual = $porcentual WHERE CONVERT(`criterio_calibres`.`id_especie` USING utf8) = '$especie' AND CONVERT(`criterio_calibres`.`id_productor` USING utf8) = '$productor' AND CONVERT(`criterio_calibres`.`id_variedad` USING utf8) = '$variedad' AND `criterio_calibres`.`etapa` = $etapa AND `criterio_calibres`.`id_calibre` = $calibre LIMIT 1"$dbCon)or die(mysql_error());

$resultadoOperatoria    = ($porcentualReal $quantyColumnas);


if(
$porcentualFinal 100){
             
$consultarValores mysql_query("SELECT id_calibre, valor_porcentual FROM `criterio_calibres` WHERE CONVERT(`criterio_calibres`.`id_especie` USING utf8) = '$especie' AND CONVERT(`criterio_calibres`.`id_productor` USING utf8) = '$productor' AND CONVERT(`criterio_calibres`.`id_variedad` USING utf8) = '$variedad' AND `criterio_calibres`.`etapa` = $etapa "$dbCon)or die(mysql_error());
            while(
$rowConsultarValores mysql_fetch_array($consultarValores)){
                
$id_calibre       $rowConsultarValores['id_calibre'];
                
$valor_porcentual $rowConsultarValores['valor_porcentual'];
                
                
$resultadoPrimero round($valor_porcentual $resultadoOperatoria2);

                if(
$resultadoPrimero ){

                    
mysql_query("UPDATE criterio_calibres SET valor_porcentual = $resultadoPrimero WHERE CONVERT(`criterio_calibres`.`id_especie` USING utf8) = '$especie' AND CONVERT(`criterio_calibres`.`id_productor` USING utf8) = '$productor' AND CONVERT(`criterio_calibres`.`id_variedad` USING utf8) = '$variedad' AND `criterio_calibres`.`etapa` = $etapa AND `criterio_calibres`.`id_calibre` = $id_calibre LIMIT 1"$dbCon)or die(mysql_error());
                }
            }
            
}else if(
$porcentualFinal 100){
                 
$consultarValores mysql_query("SELECT id_calibre, valor_porcentual FROM `criterio_calibres` WHERE CONVERT(`criterio_calibres`.`id_especie` USING utf8) = '$especie' AND CONVERT(`criterio_calibres`.`id_productor` USING utf8) = '$productor' AND CONVERT(`criterio_calibres`.`id_variedad` USING utf8) = '$variedad' AND `criterio_calibres`.`etapa` = $etapa "$dbCon)or die(mysql_error());
            while(
$rowConsultarValores mysql_fetch_array($consultarValores)){
                
$id_calibre       $rowConsultarValores['id_calibre'];
                
$valor_porcentual $rowConsultarValores['valor_porcentual'];
                
                
$resultadoPrimero round($valor_porcentual $resultadoOperatoria2);
                
//$resultadoSegundo = round($resultadoPrimero - $valor_porcentual, 2);            
                
                
mysql_query("UPDATE criterio_calibres SET valor_porcentual = $resultadoPrimero WHERE CONVERT(`criterio_calibres`.`id_especie` USING utf8) = '$especie' AND CONVERT(`criterio_calibres`.`id_productor` USING utf8) = '$productor' AND CONVERT(`criterio_calibres`.`id_variedad` USING utf8) = '$variedad' AND `criterio_calibres`.`etapa` = $etapa AND `criterio_calibres`.`id_calibre` = $id_calibre LIMIT 1"$dbCon)or die(mysql_error());
            }

La Variable :
Código PHP:
$porcentualReal 
Captura el Porcentual Actual : 1.9

La Variable :
Código PHP:
$porcentual 
Captura el Nuevo Valor Porcentual que ha digitado, Ejemplo el 2

La Variable :
Código PHP:
$quantyColumnas 
Guardo el total de columnas de la tabla que son 17 pero ha esta le debo restar 1 para que quede en 16 entonces,
Código PHP:
$quantyColumnas 16
En la Variable
Código PHP:
$calculo $porcentualReal $porcentual
Guardo el resultado de la resta de esas dos variables, me dara por ejemplo -0.1.

Bueno creo que se están aburriendo tanto leer.

Creo que ya me entendieron, Lo que quiero es que si modifico un valor de porcentual que siempre se converse el 100%

Quiero que reparta el valor entre todos los porcentuales y haga el 100%, Eso no lo logro hacer!

Gracias a todos, y porfavor ayudarmeeeee!

Saludos