Шаг 1: Использовать базу данных: -)
Нет, но на самом деле, поскольку вы сохраняете всю строку в качестве значения флажка, вы можете сравнить ее со строкой в файле и обновить поле посещения для соответствия строк ...
Например, в вашем файле обработки:
$filename = "properties.txt";
$data = file($filename, FILE_IGNORE_NEW_LINES);
$checked = $_POST['box'];
foreach($data as $id => $line){
if(in_array($line, $checked)){
//Explode the line into parts
$tmp = explode(',', $line);
//Increment the visit field
$tmp[3]++;
//Put the updated data back in the file data array
$data[$id] = implode(',', $tmp);
//Unset the tmp array
unset($tmp);
}
}
//implode the data back into a text block
$data = implode("\n",$data);
file_put_contents($filename, $data);
Это не проверено, но должно дать то, что вы ищете ...
Как примечание: вам не нужно делать вызов fopen
, чтобы использовать функцию file
. Он откроет и прочитает файл.
РЕДАКТИРОВАТЬ: так как кажется, что посещение является последним столбцом в каждой строке и без каких-либо флагов, функция file
будет сохранять новые строки в конце каждой строки, я добавил соответствующий флаг в функцию file
.