Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 10.06.2013
Сообщений: 153
1

Обновление блока div ajax

17.02.2020, 14:05. Показов 1507. Ответов 2
Метки нет (Все метки)

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        <script type="text/javascript">
                     function load_messes()
                      {
                        $.ajax({
                                    type: "post",
                                    url:  "Chat.php",
                                    data: "req=1",
                                    success: function(response){
                                        $('#Update-Block').html(response);
                                    }
                        });
                      }
                    setInterval(load_messes,3000);
        </script>
Как сохранить дату последнего сообщения из БД MySQL в переменную JS, и вызывать функцию load_messes(), только если дата последнего сообщения изменилась.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2020, 14:05
Ответы с готовыми решениями:

Обновление блока div
Подскажите, пожалуйста, как можно сделать обновление содержимого внутри div? &lt;html&gt; &lt;head&gt;...

Скриншот блока div
Собственно , как реализовать следующие: Короче тема говорит сама за себя, как сделать скриншот...

Перемещение div блока
Народ, помогите нужно чтобы при нажатии на кнопку перемещялся div блок. Как это осуществить? Вот...

название блока <div> с переменной
Здравствуйте. Мне нужно присвоить блоку (id) имя в стиле: var i = 1; &lt;div id = &quot;res + i&quot;&gt;&lt;/div&gt;...

2
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
17.02.2020, 20:04 2
Rybik001,

1) Делаете rest-контроллер на метод GET с url "last-message-date"; (ну или файл какой-то типа getLastMessageDate.php)
2) В этом контроллере или файле обращаетесь к базе данных и вытягиваете дату последнего сообщения
3) с помощью ajax дергаете контроллер или файл, получаете данные в блоке success (Дату последнего сообщения) и сохраняете в глобальную переменную, ну а перед этим сравниваете глобальную переменную и прешедшую дату. Если не равны, то вызываем load_messes()

Что-ти типа того

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
let lastMessageDate = null;
 
function getLastMessageDate() {
  $.ajax({
      type: "post",
      url:  "getLastMessageDate.php",
      data: {},
      success: function(response) {
          if (response.lastMessageDate !== lastMessageDate) {
            load_messes();
          }
      }
  });
}
 
function load_messes() {
  $.ajax({
      type: "post",
      url:  "Chat.php",
      data: "req=1",
      success: function(response) {
          $('#Update-Block').html(response);
      }
  });
}
1
1 / 1 / 0
Регистрация: 10.06.2013
Сообщений: 153
18.05.2020, 01:01  [ТС] 3
zontik24,
Цитата Сообщение от zontik24 Посмотреть сообщение
1) Делаете rest-контроллер на метод GET с url "last-message-date"; (ну или файл какой-то типа getLastMessageDate.php)
2) В этом контроллере или файле обращаетесь к базе данных и вытягиваете дату последнего сообщения
3) с помощью ajax дергаете контроллер или файл, получаете данные в блоке success (Дату последнего сообщения) и сохраняете в глобальную переменную, ну а перед этим сравниваете глобальную переменную и прешедшую дату. Если не равны, то вызываем load_messes()
Странно, но не работает.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?
    if ($_POST["lastdate"])
{
    
    $result = mysqli_query($link, "SELECT * FROM Chat ORDER BY Message_ID DESC LIMIT 1, 26");
    if(mysqli_num_rows($result) > 0)
    {
        $row = mysqli_fetch_array($result);
        return $row["Date"];        
    }
}
?>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script type="text/javascript">
                    let lastMessageDate = null;
 
                    function getLastMessageDate() {
                      $.ajax({
                          type: "post",
                          url:  "getLastMessageDate.php",
                          data: "lastdate",
                          success: function(response) {
                              if (response.lastMessageDate !== lastMessageDate) {
                                load_messes();
                              }
                          }
                      });
                    }
                     
                     function load_messes()
                      {
                        $.ajax({
                                    type: "post",
                                    url:  "Chat.php",
                                    data: "req=" + <?php echo $lastID;?>,
                                    // Выводим то что вернул PHP
                                    success: function(response){
                                        $('#Update-Block').html(response);
                                    }
                        });
                      }
                    
                    setInterval(getLastMessageDate,3000);                 
                    load_messes();
        </script>
Добавлено через 1 час 9 минут
В переменную не записывается значение. null постоянно.
Javascript
1
2
let lastMessageID = null;
alert(lastMessageID);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2020, 01:01
Помогаю со студенческими работами здесь

Перемещение div блока мышкой
Есть скрипт перемещения div блока, нужно чтобы по достижению определённых координат перемещение...

Сворачивание и разворачивание блока div
Ребят, нужна помощь, в Ява я слабак. Это в head. &lt;script type=&quot;text/javascript&quot; &gt; function...

обновление блока
подскажите пожалуйста, как сделать что бы работало )? есть код парсера: &lt;div id=&quot;update&quot;&gt;...

Заполнение div блока из файла html
доброго времени суток. имеется два DIV блока (A и B). в блоке А ссылки (не кнопки). как заставить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru