Codice PHP:
$stmt="update $ms_database.ricl00db set
ricloreresidue='$ore_residue'
where $ms_database.ricl00db.riclcodancl='$codcliente_qry'
and $ms_database.ricl00db.riclcod='$A_riclcod[$j]'
";
print"$stmt
";
$result = mysql_query($stmt);
for ($i=0; $i<=$n_ricarica; $i++)
{
unset($A_riclcodancl[$i],$A_riclcod[$i],$A_ricldata[$i],$A_ricldescrizione[$i],$A_riclimporto[$i],$A_riclnumero_ore[$i],$A_ricloreresidue[$i]);
}
$stmt="select ricl00db.riclcod,
ricl00db.ricldata,
ricl00db.ricldescrizione,
ricl00db.riclimporto,
ricl00db.riclnumero_ore,
ricl00db.ricloreresidue
from $ms_database.ricl00db
where $ms_database.ricl00db.riclcodancl='$codcliente_qry'
";
print" $stmt
";
$n_ricarica=-1;
// Esegue la query e ritorna il risultato in $result
$result = mysql_query($stmt);
// Controlla il risultato
if ($result)
{
// Risultato OK
// print"<h1>ACCEDERE AD INTEBASE CON PHP</h1>
";
while (list($riclcod,
$ricldata,
$ricldescrizione,
$riclimporto,
$riclnumero_ore,
$ricloreresidue
)=mysql_fetch_row($result))
{
// METTO TUTTE LE NEWS IN SPECIFICI ARRAY .
$A_riclcod[]=$riclcod;
$A_ricldata[]=$ricldata;
$A_ricldescrizione[]=$ricldescrizione;
$A_riclimporto[]=$riclimporto;
$A_riclnumero_ore[]=$riclnumero_ore;
$A_ricloreresidue[]=$ricloreresidue;
$n_ricarica++;
}
mysql_free_result($result);
}
else
{
print "ERRORE!
";
print $stmt;
}
Se faccio stampare $A_ricloreresidue mi stampa il vecchio contenuto e non considera l'aggiornamento. Ho provato ad utilizzare, dopo l'update, un "UNSET" mi fa slittare il contenuto dell'array nelle posizioni successive. Il risultato che sto cercando è quello ti poter avere nell'array i valori aggiornati a partire dalla prima cella.
E' un programma gestionale che deve, tra le altre cose, effettuare lo storno delle ore lavorate, ma dopo aver effettuato lo storno(cioè sommato le ore a quelle residue), non mi stampa l'array con i valori aggiornati. L'operazione di aggiornamento viene fatta correttamente a livello di Tabelle, quindi di database.
Grazie per tutto l'aiuto che mi saprete dare.