ottima analisi
alcuni errori "gnocchi" (tipo unlink con parametro "w") sono dei copia/incolla fatti in fretta e furia.. sono al lavoro ma l'idea della funzione mi piaceva e ho fatto presto :P
ma questo codice ancora una volta lo puoi sfruttare cambiando semplicemente poche righe di codice
e cioè
con questoCodice PHP:if ($fields[$field] == trim($old) && $fields[trim($cla_field)] == trim($cla_value))
{
$fields[$field] = trim($new); // riassegno il nuovo valore
$archivio[$pos]=implode("|",$fields)."\n"; // creo la linea
unlink ("$table.txt","w"); //cancello la tabella
$link_tab=fopen("$table.txt","a+"); //ricreo la tabella
foreach ($archivio as $new_line) fwrite($link_tab,$new_line);
fclose($link_db);
return 1; // ok eseguito
}
(premetto che arreyzzi le linee del db originale con $archivio=file("$table.txt"); e puoi utilizzare il puntatore dell' array anche per sapere il num di linea (una dorta di ID)
ovviamente la storia della candizione sui campi è stata una svista anche quellaCodice PHP:if ($fields[$field] == trim($old) && $fields[trim($cla_field)] == trim($cla_value))
{
$fields[$field] = trim($new); // riassegno il nuovo valore
$new_line=implode("|",$fields); // creo la linea
$link_tab=fopen("$table.txt","a+"); //riapro la tabella
$line_find=($pos-1)*1024;
fseek($link_tab,$line_find);
fwrite($link_tab,$new_line);
fclose ($link_tab);
return 1; // ok eseguito
}
importante è mantenere la stretta relazione tra tabella campi e tabella dati
prova così per quanto riguarda l' aggiornamento della tabella.. nn l' ho provata ma lo farò tra un' oretta![]()


)
Rispondi quotando