Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/05/2013, 11:05
Avatar de Killerx_8937
Killerx_8937
 
Fecha de Ingreso: noviembre-2006
Mensajes: 99
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Correcion de valor

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
  1. mysql> select * from Equip_CtrlEquipoValor;
  2. +--------------------+---------------+-----------------------+-------------------+-------------------+
  3. | CtrlEquipoValor_Id | CtrlEquipo_Id | CtrlEquipoValor_Punto | CtrlEquipoValor_A | CtrlEquipoValor_B |
  4. +--------------------+---------------+-----------------------+-------------------+-------------------+
  5. |                  1 |           236 |                   200 |                 0 |                 0 |
  6. |                  2 |           236 |                  1000 |            -0.001 |                 1 |
  7. |                  3 |           236 |                  2000 |                 0 |                -1 |
  8. |                  4 |           236 |                  5000 |                 0 |                -1 |
  9. |                  5 |           236 |                 10000 |                 0 |                -1 |
  10. |                  6 |           236 |                 20000 |                 0 |                -1 |
  11. |                  7 |           236 |                 30000 |                 0 |                -1 |
  12. +--------------------+---------------+-----------------------+-------------------+-------------------+

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 original
  1. while ($Fila = dbarray($Resultado))
  2.         {
  3.             if ($Masa < $Fila['CtrlEquipoValor_Punto'] || $Masa == $valor)
  4.             {
  5.                 $Error = ($Masa * $Fila['CtrlEquipoValor_A'] + $Fila['CtrlEquipoValor_B']);
  6.                 $MCorr = $Masa - $Error;
  7.                 return $MCorr;
  8.             }
  9.         }

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?