Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/10/2014, 13:55
Avatar de the_web_saint
the_web_saint
 
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Consulta Funcion FIFO

Ok, lo que entiendo que necesitas es mas o menos esto:

Código PHP:
Ver original
  1. $consulta1 = "select kardex.Id_Mov, kardex.Disponible,kardex.Fecha_Entrada, kardex.Cod_Producto, kardex.Precio from kardex
  2. inner join producto on kardex.Cod_Producto = producto.Cod_Producto
  3. inner join unidad_medida on kardex.Id_Medida = unidad_medida.Id_Medida
  4. inner join envase on kardex.Id_Envase = envase.Id_Envase
  5. inner join presentacion on kardex.Id_Presentacion = presentacion.Id_Presentacion
  6. where
  7. producto.Nombre_Gen = '$patron'
  8. and Cantidad_Unidad = '$patron1'
  9. and Unidad_M = '$patron2'
  10. and DesPresentacion = '$patron3'
  11. and Nombre_Envase = '$patron4'
  12. and Verifica = '0'
  13. order by Fecha_Entrada";
  14. $ejecuta1 = mysql_query ($consulta1,$con);
  15. $j = 0;
  16.  
  17. while ($row=mysql_fetch_array($ejecuta1))
  18. {
  19. $vectorC [$j][0]= $row['Cod_Producto'];
  20. $vectorC [$j][1]= $row['Disponible'];
  21. $j++;
  22. }

Luego procesamos esta matriz mas o menos así:
Código PHP:
Ver original
  1. $i=0;
  2. $solicitadas = $CantSolicitada;
  3. while($i < count($vectorC) && $solicitadas>0)
  4. {
  5.   if($vectorC[$i][1]>0)
  6.   {
  7.       if($vectorC[$i][1] >= $solicitadas)
  8.        {
  9.            $vectorC[$i][1] = $vectorC[$i][1]-$solicitadas;
  10.            $solicitadas = 0;
  11.         }
  12.        else
  13.         {
  14.             $solicitadas = $solicitadas - $vectorC[$i][1];
  15.             $vectorC[$i][1] = 0;
  16.          }
  17.   }
  18.    $i++;
  19. }

Saludos,
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.