Пытаюсь реализовать обновление числа в span блоке
<li><a href="/activity"><?php echo $Lang['mes65']; ?> <span id="activity" class="badge pull-right bg-warning"><?=$countActivity?></span> </a></li>
В badge имеется переменная <?=$countActivity?>, подскажите, пожалуйста, как я могу периодически обновлять ее?
Вам нужно подучить матчасть. А именно, понять, чем на самом деле занимается php, а что происходит в браузере.
Как происходит загрузка страницы:
Как видите, ни о каком обновлении php переменной речи быть не может - скрипт уже отработал и умер.
Если вам нужно динамически обновлять какой-то контент на странице, всё что у вас есть - javascript.
Вы можете получать данные от сервера с помощью технологии Ajax(или WebSocket) и обновлять данные в DOM.
Например:
создаёте отдельный скрипт, который возвращает нужное вам значение:
scripts/getUserData.php
<?php
// Имитация изменений данных
start_session();
$_SESSION['countActivity'] = ($_SESSION['countActivity'] ?? 0) + 1;
$count = $_SESSION['countActivity'];
header('Content-type: application/json');
echo json_encode(['countActivity' => $count]);
И запрашиваете его периодически с помощью ajax из javascript на странице:
<div id="activityCount">0</div>
<script>
setInterval(() =>
fetch('/scripts/getUserData.php')
.then(res => res.json())
.then(res => {
document.getElementById('activityCount').innerText = res.countActivity;
}),
5000 // Каждые 5 секунд
);
</script>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей