Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: X технологии > Динамическая загрузка данных


Автор: xoslv 25.10.2007, 19:27
Многоуважаемые господа програмисты!
Столкнылся с необходимостью обновления данных на странице, не перезагружая полность весь контент.
На данный момент, есть такой примитивный конструктор, если это можно так назвать:
Код

<table border="0" cellpadding="0" cellspacing="1">
<?php
  $r=sqlgo("select * from `users` order by `id` ASC");
  while ($row=mysql_fetch_assoc($r)) { 
    $q=sqlgo("select * from `users_tmp` where `id`='".$row['id']."'");
  ?>
<tr>
  <td style="border:1px #ffffff solid;width:180px;vertical-align:middle;">
    <?=$row['name']."&nbsp;".$row['sname'];?>
  </td>
  <td style="border:1px #ffffff solid;width:180px;vertical-align:middle;">
    <?php
      if (mysql_num_rows($q)==1) {
        $where=mysql_fetch_assoc($q);
        print "<font color=\"#003300\">".$where['where']."&nbsp; @ &nbsp;".$whete['time']."</font>\n";
      } else {
        print "<font color=\"#ff0000\">Offline...</font>\n";
      }
    ?>
  </td>
  <td style="vertical-align:middle;">
    <a href="?menu=access&edit=<?=$row['id'];?>"><img src="img/b_edit.png" border="0" alt=""></a>
  </td>
</tr>  
  <?php } ?>
</table>

Мне необходимо, чтобы условие:
Код

if (mysql_num_rows($q)==1) {
        $where=mysql_fetch_assoc($q);
        print "<font color=\"#003300\">".$where['where']."&nbsp; @ &nbsp;".$whete['time']."</font>\n";
      } else {
        print "<font color=\"#ff0000\">Offline...</font>\n";
      }

Выполнялось автоматически, не перезагружая всю страницу, с интервалом в 5 секунд.

Как это сделать?
Зарание примного благодарен!

Автор: xoslv 26.10.2007, 10:26
Решил проблему, с помощью jQuery (AJAX)
Элементарно вообще получилось!

вот код который получает и отображает данные:
Код

    <script>
        function updateData() {
                $.get("inc/aloader.php", function(data){
                        document.getElementById('dataForUpdate').innerHTML = data;
                        }
                );
                setTimeout("updateData()",5000);
        }
        setTimeout("updateData()",5000);
        </script>
<span id="dataForUpdate"></span>

Файл aloader.php формирует ХТМЛ код и передаёт его в переменную DATA.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)