Собственно, суть в заголовке. Есть некие блоки, в которые вытягиваются данные из базы. Нужно сделать так, чтобы изменения в базе отображались в этих блоках без перезагрузки страницы. Например: галерея изображений или наименование товара и т.п. Refresh прописанный на странице инклуда все-равно обновляет родительскую страницу целиком.
ajax.
Потому что инклюдов и файлов с РНР кодом не существует после выполнения запроса к серверу и получения результата (например, HTML).
Да. Такая информация у меня есть, но найти в интернете понятных примеров даже достаточных просто для разработки по моему случаю не удается. Можно чуть подробнее, как можно совместить PHP код и JS в случае моей конструкции (не знаю почему, но код отображается не полностью):
<a href="pch.php" class="bbb"><br>ВАЖНОЕ
<span style="color: #9f0">
<?php
$stmt = $mysqli->prepare("SELECT * FROM `s` WHERE `id`=? AND `li`=1") or die(mysqli_error($mysqli));
$stmt->bind_param('i', $userid);
$stmt->execute();
if($stmt->error)die('ОШИБКА ПОДКЛЮЧЕНИЯ: '.$stmt->error);
$check_user = $stmt->get_result();
$result = mysqli_fetch_assoc($check_user);
if ($check_user->num_rows > 0 ) echo 'NEW';
?>
</span>
</a>
Предполагалось использовать setInterval.
РНР должен вернуть обновленную часть (ну то есть если это “классический” РНР без фреймворков/ЧПУ, то просто отдельный файл, который выводит HTML как выше) и в JS сделать запрос (то есть просто имя этого файла), чтоб получить это, и после получения вывести куда надо.
Типа такого:
<div id="content">
<img src="https://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif"/>
</div>
<script>
setInterval(() => {
fetch('/get_content.php')
.then(response => response.text())
.then(html => {
document.querySelector('#content').innerHTML = html;
});
}, 3000);
</script>
get_content.php:
<h2>Hello <?= rand(100, 999) ?></h2>
https://replit.com/@AlexP11223/PhpAjax#index.php
Вместо fetch
может быть удобнее использовать библиотеку типа Axios, или jQuery.
потому что при вставке кода на форумы надо нажимать кнопку Код.
Рабоооотаееет!) Сасибо). А на кнопку “Код” я нажимаю. Может имеет значение до или после ввода текста ее нажимать.)
Ну оно вокруг текста должно добавиться, как теги HTML.
Соответственно нажимать надо либо до вставки и вставлять код в середину (куда курсор автоматически встанет), либо потом выделять и нажимать.
Как в ворде )