Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2011, 09:25
Deedlit
 
Fecha de Ingreso: enero-2011
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
problema con UPDATE en php

Hola, tengo un extraño problema...capaz que sea una tontera, pero no he podido dar con el problema >.< por eso es que recurro a ud's :)

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());
            }
        } 
El problema esta en la consulta $sql7. Al ocupar el echo me salen los siguientes valores:

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 :s

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