Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Частичное обновление странички
 
 автор: ROOS   (08.05.2006 в 22:34)   письмо автору
 
 

Допустим у меня есть счетчик который показывает реальное кол-во людей находящийся в данный момент на этой странице. Как сделать так чтобы этот счетчик обновлялся через некотый промежуток времяни чтобы видеть сколько людей находятся в данный момент. Сейчас мой счетчик показывает кол-во людей только тогда гогда я захожу на нее..

   
 
 автор: DDK   (08.05.2006 в 22:42)   письмо автору
 
   для: ROOS   (08.05.2006 в 22:34)
 

Вынесите счётчик в отдельный файл, а на страничках вызывайте его через <iframe>. Во фрейме же пропишите мета-тег на автоматический рефреш страницы через опред. время.

   
 
 автор: ROOS   (08.05.2006 в 22:50)   письмо автору
 
   для: DDK   (08.05.2006 в 22:42)
 

Получается, что у меня будет обнавляться вся страничка включая и счетчик. А как сделать так чтобы обнавлялся только счетчик но не страничка. Например, возьмем часы которые показывают часы:минуты:секунды, чтобы показать секунды не нужно же обнавлять всю страничку или надо?

   
 
 автор: Саня   (08.05.2006 в 23:31)   письмо автору
 
   для: ROOS   (08.05.2006 в 22:50)
 

Часы, как правило, делаются при помощи JavaScript'а, поэтому не нужно обновлять страницу.
Если не хотите фреймами, попробуйте AJAX'ом:
http://softtime.ru/forum/srchform.php?id_forum=1&name=ajax&numberthemes=30&srchwhere=2&id_forum=0&logic=0&send=%CD%E0%E9%F2%E8

   
 
 автор: Бог Зайцев   (10.05.2006 в 14:57)   письмо автору
 
   для: ROOS   (08.05.2006 в 22:34)
 

Вот довольно простой способ, в отличии от аякса работает еще и в опере :)

Делимся на две части, вот часть клиентская:

<div id = "online"> Тут выводим данные при загрузке скрипта
</online>
<script>
function get() {    
var Zayachiy_Script = document.createElement("SCRIPT");    // Создаем новый скрипт 
Zayachiy_Script.type="text/javascript";     // Рассказываем ему, кто он такой )
Zayachiy_Script.src= 'update.php?sid='+Date.parse(Date());     // Даем наводку, откуда запускацо, добавляем дату в ссылку, дабы избежать проблем с кешированем ) я бы посоветовал запрещать кеш с серверной стороны, но это уже пхп. а следовательно не наша область:)
document.body.appendChild(Zayachiy_Script); // Втыкаем в документ и запускаем )
}    

function write(var1)
{
document.getElementById('online').innerHTML='Сейчас на сайте '+var1+' человек )'; // Выводим полученные данные любым удобным для нас способом
}
var interval = 10; // Через сколько секунд обновлять инфу )
window.setInterval('get()',interval*1000); // Обновляем с периодичностью в несколько минут )
</script>


А вот это файл update.php, он лежит на сервере:

<?
$users_online 
10// значение взято от балды, как его вычислять Вы знаете без меня :)
echo "write($users_online)"// Запускаем функцию 
?>


Хотя я бы не советовал злоупотреблять подобными штуками :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования