[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RiminiLUG-General] PHP con sorpresa
while(odbc_fetch_into($Rs, $Str))
{
print "<tr>";
for($i=0;$i<$Colnum;$i++)
{
print "<td>";
print "$Str[$i]";
print "</td>";
}
$somma = ($somma + ($Str[3]*$Str[4]));
if ($Str[0] == 08899003)
{
$valore_da_sottrarre = ($Str[3]*$Str[4]);
}
print "</tr>";
}
------------------------------------------------------------
Dovendo ricavare il valore di un codice per evidenziarlo ho
rispolverato una porzione di codice usata in passato e con la
quale non ho mai avuto problemi.
Con mia grande sorpresa questa volta non ha funzionato!
Il problema è che i codici nel database (oracle) in $str[0] in questa occasione (non in passato), iniziano con 0 (zero)
e l'if del codice sopra viene bypassato.
Neppure indicando '08899003' o "08899003" funziona correttamente.
L'unico modo efficace è:
if ($Str[0] == 8899003)
Così facendo il test viene eseguito correttamente ed ottengo la
variabile $valore_da_sottrarre con il valore corretto.
Toglietemi una curiosità, qual'è la ragione "tecnica"per
cui questo accade?
Di solito mi accontento che funzioni ma questa volta vorrei anche capire :-)
-----------------------------------------------------------
Spazio ILLIMITATO per la tua Email, Scanner Antivirus,
Antispam, Backup e POP3. Prova la nuova Email di superEva:
http://webmail.supereva.it/
-----------------------------------------------------------
--
Mailing list info: http://lists.linux.it/listinfo/riminilug-general