Добрый день.
Задача такая:
Из json файла php выводит контент. Нужно сделать так, чтобы при клике на ссылку увеличивалось значение viewed и измененные данные записывались в json. И есть некоторые условия:
1) Для увеличения количества просмотров использовать только get-параметр с ИД новости. Запрещено использовать порядковый номер новости внутри массива.
2) После перехода по ссылке и обновлении этой же страницы в браузере, не должно происходить повторного увеличения счетчика viewed
json-файл:
[
{
"id": "0001",
"viewed": 0,
"name": "News 1",
"text": "Preview text"
},
{
"id": "0005",
"viewed": 0,
"name": "News 2",
"text": "Preview text"
},
{
"id": "0010",
"viewed": 0,
"name": "News 3",
"text": "Preview text"
}
]
PHP код:
<?php
$filename = __DIR__ . "/data.json";
$result = [];
if (file_exists($filename))
$result = json_decode (file_get_contents ($filename), true);
?>
<? foreach ($result as $item): ?>
<div>
<b><?=$item['name']?></b><br>
<small>Viewed: <?=$item['viewed']?></small><br>
<?=$item['text']?><br><br>
<a href="?set_viewed=<?=$item['id']?>">I watched</a>
<hr>
</div>
<? endforeach; ?>
Заранее спасибо за отклик!