Вы не можете напрямую обращаться с CSV-файлом как с базой данных.Вам нужно было бы указать, из какой строки пришла кликаемая строка в исходном CSV-файле.Либо по номеру строки, либо (желательно) по некоторому уникальному полю идентификатора в каждой строке.
Я сделаю вид, что столбец 0 файла csv является уникальным идентификатором для строки, поэтому вы должны иметь это для выхода:
foreach ($data as $index=>$val) {
echo("\t<td><a href=\"update.php?id={$data[0]}\">$val</a></td>\r\n");
}
А затем в скрипте update.php в базовом псевдо-коде:
<?php
$id = $GET['id'];
$fh = fopen('test/list.csv', 'rb');
$out = fopen('newlist.csv'', 'wb');
while($row = fgetcsv($fh)) {
if ($row[0] == $id) {
$row[xxx] = 1; // write '1' for this row because it's the row that was clicked on
}
fputcsv($out, $row); // write out to new file
}
Обратите внимание, что я использую второй файл для измененного вывода.это безопаснее, чем пытаться редактировать исходный CSV на месте.После внесения необходимых изменений вы просто перемещаете новый файл поверх старого, и ваши изменения завершены.