Foros del Web » Programando para Internet » PHP »

Problemas stock, comparando bdd y datos ingresados.

Estas en el tema de Problemas stock, comparando bdd y datos ingresados. en el foro de PHP en Foros del Web. Hola gente !!! Tengo un problemita al comparar los datos que ingreso y los de la bdd No puedo terminar de resolverlo. El tema es ...
  #1 (permalink)  
Antiguo 18/06/2009, 13:23
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Problemas stock, comparando bdd y datos ingresados.

Hola gente !!!
Tengo un problemita al comparar los datos que ingreso y los de la bdd
No puedo terminar de resolverlo.
El tema es asi ...
Tengo cargados unos pedidos por ejemplo

item 1 / cant 200 / fecha 12-05-2009
item 1 / cant 100 / fecha 20-06-2009

ahora cuando estoy armando la factura, tengo los problemas al comparar

Lo que debo hacer es cuando ingreso la cantidad a facturar, por ejemplo, le pongo 50. me tiene descontar del item 1 de la fecha mas vieja , o sea que me quedaria en 150, y el otro sigue en 100.
Ahora supongamos que hago otra factura y le pongo cantidad 100, tendria que dejar el 1º en 0 (cero) y al otro sacarle solo 50.
Parece facil, pero me estoy volviendo tuerto jejejej !!! si alguien sabe como hacerlo y tiene alguna idea , se agracede !!!!!!!



Gracias, Ricardo !!!
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 18/06/2009, 13:56
Avatar de fallenagus  
Fecha de Ingreso: noviembre-2008
Ubicación: Santa Cruz - Bolivia
Mensajes: 52
Antigüedad: 15 años, 4 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
  #3 (permalink)  
Antiguo 19/06/2009, 06:42
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problemas stock, comparando bdd y datos ingresados.

Hola fallenagus, era justo eso que lo queria hacer...

Te cuento como quedo al final !!!!!

Código php:
Ver original
  1. while($cant_fact>0 && $rs=mysql_fetch_array($resuu)){
  2. $fec_ent_ped = explode("-", $rs['fecha_ent']);
  3. $rest=$rs['cant_rest'];
  4.  
  5.  
  6. if($cant_fact<=$rest)
  7. {
  8.     $resta = $rest-$cant_fact;
  9. echo "Cant Facturada: ".$cant_fact; echo "<br>";
  10. echo "Resto: ".$resta; echo "<br>";
  11. echo "Restante del pedido: ".$rest; echo "<br>";
  12.     $ent=$cant_fact;
  13.     $cant_fact=0;
  14.  
  15. }
  16. else
  17. {
  18.         $resta = 0;
  19.         $cant_fact = $cant_fact - $rest;
  20.     $ent=$rest;
  21. echo "Cant Facturada >>> ".$cant_fact; echo "<br>";
  22. echo "Resto >>>: ".$resta; echo "<br>";
  23. }

Despues le tengo que añadir el update !!! Pero sigo haciendo pruebas, hasta ahora, va de 10 !!

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 19/06/2009, 07:52
Avatar de fallenagus  
Fecha de Ingreso: noviembre-2008
Ubicación: Santa Cruz - Bolivia
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Problemas stock, comparando bdd y datos ingresados.

Que bueno que te este sirviendo, cualquier cosa la posteas nomas, pa que la solucionemos.

chauuuuuuuuu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:38.