Ciao, non so se ti può essere utile, cmq io lo uso per modificare ogni campo di ogni singola riga.
Ammesso che tu inserisca i dati attraverso un form, io faccio così:
- file per visualizzare tutte le righe:
Codice PHP:
<table width="90%" border="1" cellspacing="0" cellpadding="1" align="center">
<tr bgcolor="#00477d">
<td height="20" colspan="5" valign="top"><div align="center" class="Stile2 Stile3">[b]Elenco Allievi [/b]</div></td>
</tr>
<tr>
<td width="34" height="22" valign="top"><span class="Stile2">ID</span></td>
<td width="94"valign="top"><span class="Stile2">Codice allievo</span></td>
<td width="229"valign="top"><span class="Stile2">Nome</span></td>
<td width="164" valign="top"><span class="Stile2">Cognome</span></td>
<td width="78" valign="top"><span class="Stile2">Gestione</span></td>
</tr>
<tr>
<td height="22" valign="top"><span class="Stile2">
<?php
$contatore = 0;
$textfile = fopen("archivio.txt", "r");
while ($rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
echo "<tr><td>$campiriga[0]</td><td>$campiriga[3]</td><td>$campiriga[4]</td><td>$campiriga[5]</td><td><a href=\"modifica_riga.php?id=$campiriga[0]\">Mod</a> | <a href=\"cancella_riga.php?id=$campiriga[0]\">Canc</a></td></tr>";
}
fclose($textfile);
?>
</span></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
- file "modifica_riga.php"
questo è il codice php, poi sempre nella stessa pagina creati un form con
<form method="post" action="aggiorna_riga.php ">
ed in ogni input value inserisci una cosa come questa:
per richiamare e stampare la variabile settata all'inizio del file nel codice php.
Codice PHP:
<?php
$id = $_GET["id"];
$textfile = fopen("archivio.txt", "r");
while ( $rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
$idriga = $campiriga[0];
if ($idriga == $id) {
$cid = $campiriga[0];
$ccorso = $campiriga[1];
$csede = $campiriga[2];
$ccodice_allievo = $campiriga[3];
$cnome = $campiriga[4];
$ccognome = $campiriga[5];
$canno_nascita = $campiriga[6];
$cresidenza = $campiriga[7];
$ctitolo_studio = $campiriga[8];
$cdiploma_agg = $campiriga[9];
$cesperienze = $campiriga[10];
$cesperienze_ok = EREG_REPLACE("#","\n",$cesperienze);
}
}
fclose($textfile);
?>
- file "aggiorna_riga.php"
Codice PHP:
<?php
$id = $_POST["id"];
$textfile = fopen("archivio.txt", "r");
$textfile_new = fopen("archivio_new.txt", "a");
while ($rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
$idriga = $campiriga[0];
if ($idriga == $id) {
$ccorso = $_POST["corso"];
$csede = $_POST["sede"];
$ccodice_allievo = $_POST["codice_allievo"];
$cnome = $_POST["nome"];
$ccognome = $_POST["cognome"];
$canno_nascita = $_POST["anno_nascita"];
$cresidenza = $_POST["residenza"];
$ctitolo_studio = $_POST["titolo_studio"];
$cdiploma_agg = $_POST["diploma_agg"];
$cesperienze = $_POST["esperienze"];
$cesperienze_ok = str_replace("\r\n","#",$cesperienze);
$nuovariga = "$idriga|$ccorso|$csede|$ccodice_allievo|$cnome|$ccognome|$canno_nascita|$cresidenza|$ctitolo_studio|$cdiploma_agg|$cesperienze_ok|\n";
fwrite($textfile_new, $nuovariga);
} else {
fwrite($textfile_new, $rigafile);
}
}
fclose($textfile);
fclose($textfile_new);
unlink("archivio.txt");
rename("archivio_new.txt","archivio.txt");
?>
- infine, file "cancella_riga"
Codice PHP:
<?php
$utente = $_GET["id"];
$textfile = fopen("archivio.txt", "r");
$textfile_new = fopen("archivio_new.txt", "a");
while ($rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
$idriga = $campiriga[0];
if ($idriga <> $utente) {
fwrite($textfile_new, $rigafile);
}
}
fclose($textfile);
fclose($textfile_new);
unlink("archivio.txt");
rename("archivio_new.txt","archivio.txt");
?>
Ovviamente, adattalo al tuo file txt, cambiando nome dove serve e metti campi che desideri.
ciao, cicileu