Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/06/2009, 13:56
Avatar de fallenagus
fallenagus
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santa Cruz - Bolivia
Mensajes: 52
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas stock, comparando bdd y datos ingresados.

Bueno yo haría lo sgte:
Código php:
Ver original
  1. <?php
  2. //suponiendo que tenes los datos en una bd mysql
  3. $cant_fact='100';//la cantidad a facturar
  4. $result=mysql_query("select * from `tutabla` order by `fecha` asc",$link);// consulta ordenada por fecha de menor a mayor
  5. while($cant_fact > 0 and $row=mysql_fetch_array($result)){//agarro el registro mas antiguo segun el orden de fecha(que sera el perimer registro)
  6.     if($cant_fact <= $row['cant']){//si la cantidad a facturar es menor o = a la cantidad de tu registro pasa a restar
  7.         $resta = $row['cant'] - $cant_fact;
  8.         $cant_fact = 0;
  9.     }else{//caso contrario se resta todo de la cantidad y se guarda en $cant_fact el resto
  10.         $resta = 0;
  11.         $cant_fact = $cant_fact - $row['cant'];
  12.     }
  13.     mysql_query("update `tutabla` set `cant`=$resta where `idtutabla`={$row['idtutabla']}",$link);
  14. }
  15. //el while va a dar vueltas hasta que se descuente la cantidad a facturar o hasta qe se acaben los registros si al finalizar el while $cant_fact sigue teniendo registros significa que la cantidad a facturar era mayor que la suma de las cantidades en tus registros
  16. if($cant_fact > 0){
  17.     echo"la cantidad a facturar es mas grande que las cantidades";
  18. }else{
  19.     echo"se desconto bien";
  20. }
  21. ?>

cualquier pregunta aqui estoy