Publicado: 2006-10-10 07:08 @339
Claro es que acabo de darme cuenta de que no saco el 'uid' bien en los dos primeros if. Como puedo sacarlos teniendo en cuenta que en estas cadenas no viene precedido por las letras 'UID'
Si no que en el primer caso, va destras de '$' (el estoy vivo '$SP103' por ejemplo y en el segundo va en la cadena '@OCSP103' por ejemplo. En ambos casos he puesto "destino_orden='$uid'" pero este '$uid' hay que sacarlo antes ¿no?
- Código: Seleccionar todo
my $linea = <>; #con esto leemos la cadena por la entrada estándar
chomp $linea; #y le quitamos el final de línea.
my $primero = substr($linea, 0, 1);
##print "$linea\n";
if ($primero eq '$')
{
##print "Entro en el bucle 1";
my $sth2=$dbh1->prepare("SELECT orden FROM ordenes_3 WHERE destino_orden='$uid' AND ack_orden='0'")
or die $dbh1->errstr;
$sth2->execute() or die $sth2->errstr;
my @orden=$sth2->fetchrow_array();
if(@orden)
{
print "@orden";
}
}
elsif ($primero eq '@')
{
##print "entro en el bucle 2";
$sql2 = ("UPDATE ordenes_3 SET ack_orden='1' WHERE destino_orden='$uid';");
my $fila = $dbh1->do($sql2)
or die $dbh1->errstr;
}
Si no que en el primer caso, va destras de '$' (el estoy vivo '$SP103' por ejemplo y en el segundo va en la cadena '@OCSP103' por ejemplo. En ambos casos he puesto "destino_orden='$uid'" pero este '$uid' hay que sacarlo antes ¿no?