El problema es el siguiente.
Tengo packs de productos asociados a un despacho, y los pack de itemes pueden estar asociados a una factura.
Por lo que si un despacho esta finalizado, debo marcar los pack como entregados para luego revisar si todos los pack de las facturas involucradas estan entregados y asi darlas como finalizadas también.
Código PHP:
$sql6 = "SELECT id_salida_ac FROM salida_activo WHERE despacho='".$id_despacho."'";
$e6 = mysql_query($sql6, $link) or die(mysql_error());
while($f6 = mysql_fetch_array($e6)){
$sql7 = "UPDATE salida_activo SET estado=14 WHERE id_salida_ac='".$f6['id_salida_ac']."' AND estado<>6";
mysql_query($sql7,$link) or die(mysql_error());
echo $sql7."<br>";
}
Código PHP:
$anular = 0;
$sql8 = "SELECT DISTINCT id_salida FROM salida_activo WHERE despacho='".$id_despacho."'";
$e8 = mysql_query($sql8, $link) or die(mysql_error());
while($f8 = mysql_fetch_array($e8)){
$sql9 = "SELECT id_salida_ac, estado FROM salida_activo WHERE id_salida='".$f8['id_salida']."'";
$e9 = mysql_query($sql9, $link) or die(mysql_error());
while($f9 = mysql_fetch_array($e9)){
if($f9['estado']!=16 && $f9['estado']!=6){
echo "id_salida_ac:".$f9['id_salida_ac']." estado:".$f9['estado']."<br>";
$desanular = 1;
//break;
}
}
if($anular>0){
$sql10 = "UPDATE salida SET estado='5' WHERE id_salida='".$f8['id_salida']."'";
mysql_query($sql10, $link) or die(mysql_error());
}
}
Cita:
UPDATE salida_activo SET estado=14 WHERE id_salida_ac='16089' AND estado<>6
UPDATE salida_activo SET estado=14 WHERE id_salida_ac='16090' AND estado<>6
UPDATE salida_activo SET estado=14 WHERE id_salida_ac='16091' AND estado<>6
id_salida_ac:16089 estado:14
id_salida_ac:16090 estado:14
id_salida_ac:16091 estado:14
Pero en la BD siguen estando como 16, o sea, como antes del supuesto update :sUPDATE salida_activo SET estado=14 WHERE id_salida_ac='16089' AND estado<>6
UPDATE salida_activo SET estado=14 WHERE id_salida_ac='16090' AND estado<>6
UPDATE salida_activo SET estado=14 WHERE id_salida_ac='16091' AND estado<>6
id_salida_ac:16089 estado:14
id_salida_ac:16090 estado:14
id_salida_ac:16091 estado:14
Alguien sabe a que se puede deber esto??
Es demasiado extraño.
Desde ya muchas gracias, espero haber entregado la información necesaria.
Cualquier cosa me dicen.
Saludos