Estimado el problema no esta en la correccion.
al ejecutar la consulta el while comienaz a recorrer el array con el cual tiene el siguiente resultado.
Código MySQL:
Ver original+--------------------+---------------+-----------------------+-------------------+-------------------+
| CtrlEquipoValor_Id | CtrlEquipo_Id | CtrlEquipoValor_Punto | CtrlEquipoValor_A | CtrlEquipoValor_B |
+--------------------+---------------+-----------------------+-------------------+-------------------+
| 1 | 236 | 200 | 0 | 0 |
| 2 | 236 | 1000 | -0.001 | 1 |
| 3 | 236 | 2000 | 0 | -1 |
| 4 | 236 | 5000 | 0 | -1 |
| 5 | 236 | 10000 | 0 | -1 |
| 6 | 236 | 20000 | 0 | -1 |
| 7 | 236 | 30000 | 0 | -1 |
+--------------------+---------------+-----------------------+-------------------+-------------------+
si le ingreso una masa de 2500 la siguiente instruccion realizara la correccion utilizando el punto de 5000, verdad puesto que el punto de 2000 no es menor que la masa ingresada 2500
Código PHP:
Ver originalwhile ($Fila = dbarray($Resultado))
{
if ($Masa < $Fila['CtrlEquipoValor_Punto'] || $Masa == $valor)
{
$Error = ($Masa * $Fila['CtrlEquipoValor_A'] + $Fila['CtrlEquipoValor_B']);
$MCorr = $Masa - $Error;
return $MCorr;
}
}
el problema esta cuando pongo una masa de 30000, cuando hago esto me considera el punto de 200 para hacer la correccion siendo que deberia usar el de 30000, no se porque pasa esto, para todo el resto de las masas ingresadas desde 0 hasta 29999 funaciona bien pero para 30000 no, sera porque es el ultimo valor del arreglo?
me explique bien?