Ver Mensaje Individual
  #9 (permalink)  
Antiguo 16/01/2013, 11:58
hpereira
 
Fecha de Ingreso: abril-2010
Mensajes: 108
Antigüedad: 14 años
Puntos: 2
Como hago esto con if

Buenos dias amigos, tengo este problema.
Yo tengo este codigo y la verdad todo me funciona exelente pero tengo este problema que lo voy a explicar donde tengo el error en la parte de abajo

@$checks=$_REQUEST['valorcheck'];
if(is_array($checks)):
for($i=0;$i<count($checks);$i++):
//echo $checks[$i]."Numero de Pedido"."<br />";
$pedido_coti = $checks[$i];//."<br />";
//para sacar las pedidos de las cotizaciones
$sql = "select * from Cotizaciones where NoDocumento =".$pedido_coti;
$result = mssql_query($sql);

while($consulta = mssql_fetch_array($result)){
//echo $consulta['NoCotizacion']."Numero de Cotizacion"."<br />";
$coti=$consulta['NoCotizacion'];

}

/////////aqui verifico en la tabla de DetalleCotizaciones
$sql2 = "select * from DetalleCotizaciones where NoCotizacion =".$coti;
$result2 = mssql_query($sql2);

while($consulta2 = mssql_fetch_array($result2)){
//echo $consulta2['Cantidad']."Cantidad"."<br />";
//echo $consulta2['NoProducto']."Numero de Producto"."<br />";
$cantidad_pro = $consulta2['Cantidad'];//."<br />";
$cod_pro = $consulta2['NoProducto'];
$sql3 = "select MIN(FechaVencimiento) as fecha, NoProducto, min(NoLote) as lote from Lotes where NoProducto =".$cod_pro." and Cantidad <>0 group by NoProducto";
$result3 = mssql_query($sql3);
//}

while($consulta3 = mssql_fetch_array($result3)){

//echo $consulta3['fecha']."<br />";

//echo $consulta3['lote'];//."<br />";
$num_lote = $consulta3['lote'];//."<br />";


$sql4 = "select * from ExistenciasLotes where NoProducto =".$cod_pro." and NoLote =".$num_lote."and Existencia <>0";

$result4 = mssql_query($sql4);

while($consulta4 = mssql_fetch_array($result4)){

//echo $consulta4['NoLote']."Numero de lote"."<br />";
//echo $consulta4['NoProducto']."Este es el producto con lote y fecha proxima a vencer"."<br />";
//echo $consulta4['Existencia']."Existencia"."<br />";
$num_lote = $consulta4['NoLote'];
$existen = $consulta4['Existencia'];

$total = $existen - $cantidad_pro;

if ($existen>$cantidad_pro)
{
$sql5 ="Update ExistenciasLotes Set Existencias='$total'Where NoProdcuto=".$cod_pro."and NoLote =".$num_lote;

}
else
{
Bueno como ustedes miraran todo esto viene de las consultas de la base de datos
$existen = $consulta4['Existencia']; esto es la existencia actual en un lote con fecha proximamente a vencer
$cantidad_pro = $consulta2['Cantidad']; esta es la cantidad que estoy solicitando en el pedido.
Lo que hace todo esto es que va y consulta los productos con fechas mas antiguas o proxima a vencer ejemplo
$total = $existen - $cantidad_pro;
Todo bien pero el problema que tengo es que si la cantidad que estoy pidiendo en el pedido es mayor a la de existencia entonces tiene que ir al siguiente registro y completar la cantidad que lo estoy pidiendo, claro que siempre tiene que escojer el producto con fecha mas antigua esto lo tiene que hacer las veces necesarias hasta completar la cantidad que le estoy pidiendo
claro si en un registro en contro 10 tiene que agarrar esos dias y dejarlo en 0 y seguir con el siguiente registro hasta completar la cantidad.
arriba tengo esto con un if pero no se si es asi

gracias espero que me ayuden

Att
Jarlis Pereira


}