динамический — перезагрузка PHP включает без innerHTML

Когда кто-то на моем сервере Minecraft отправляет сообщение чата, плагин отправляет это сообщение в файл listener.php, который вводит информацию в базу данных Mysql. Я пытаюсь отобразить его в реальном времени (ну, как можно ближе) в административной панели, которую я создаю для веб-сайта. Хотя использование .load работает так же, как получение содержимого на странице, оно ломает полосы прокрутки, управляемые jquery, которые есть у меня в чате, делая его там, где вы не можете прокручивать сообщения вниз. Это потому, что у него должно быть достаточно, чтобы оправдать необходимость прокрутки, прежде чем появится полоса прокрутки, но с .load единственным подарком является то, что в него загружается содержимое chat.php. единственный способ заставить чат работать — это включить chat.php с включенным php, при этом chat.php выглядит так:

<?phpecho "<div class='block messages scrollBox'><div class='scroll' style='height: 320px;'> ";

$con=mysqli_connect("localhost","bduser","pass","dbase");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM server_chat ORDER BY date DESC , time DESC LIMIT 15");

while($row = mysqli_fetch_array($result)) {

$user = $row['user'];
$message = $row['message'];
$date = $row['date'];
$time = $row['time'];echo "<div class='item clearfix'><div class='image'><a href='#'><img src='../face.php?u=$user'         class='img-polaroid' /></a></div><div class='info'><a class='name' href='#'>$user</a><p>$message</p>    <span>$time $date</span></div></div>";}

mysqli_close($con);

echo "</div></div>";
?>

Как сохранить вышеуказанный формат для отображения содержимого таблицы чата в моей базе данных, но обновлять ее каждые 5 секунд или около того? Есть ли способ автоматически повторно запросить базу данных? В то время как фрагменты кода помогают, я в процессе обучения, либо указываю мне правильное направление через ссылку q на то, какой метод использовать, либо рассказываю, что нужно сделать, и оставляю кодирование на моем усмотрении, в долгосрочной перспективе поможет гораздо больше. , Заранее спасибо!

0

Решение

ПРИМЕЧАНИЕ: скопируйте этот код php тоже, я изменяю его

Попробуй это:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
var interval = setInterval(function() {
$.ajax({
url: 'chat_reload.php',
success: function(data) {
$('#toreload').html(data);
}
});
}, 1000);
});
</script><?phpecho "<div class='block messages scrollBox'><div class='scroll' style='height: 320px;'><div id='toreload'> ";

$con=mysqli_connect("localhost","bduser","pass","dbase");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM server_chat ORDER BY date DESC , time DESC LIMIT 15");

while($row = mysqli_fetch_array($result)) {

$user = $row['user'];
$message = $row['message'];
$date = $row['date'];
$time = $row['time'];echo "<div class='item clearfix'><div class='image'><a href='#'><img src='../face.php?u=$user'         class='img-polaroid' /></a></div><div class='info'><a class='name' href='#'>$user</a><p>$message</p>    <span>$time $date</span></div></div>";}

mysqli_close($con);

echo "</div></div></div>";
?>

А ТАКЖЕ:
Там в папке, где этот код PHP сделать новый файл с именем chat_reload.php и поместите туда этот код:

<?php
$con=mysqli_connect("localhost","bduser","pass","dbase");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM server_chat ORDER BY date DESC , time DESC LIMIT 15");

while($row = mysqli_fetch_array($result)) {

$user = $row['user'];
$message = $row['message'];
$date = $row['date'];
$time = $row['time'];echo "<div class='item clearfix'><div class='image'><a href='#'><img src='../face.php?u=$user'         class='img-polaroid' /></a></div><div class='info'><a class='name' href='#'>$user</a><p>$message</p>    <span>$time $date</span></div></div>";}

mysqli_close($con);
?>
0

Другие решения

Других решений пока нет …