Всем привет! Начал изучать JS вот.. но чего то успехов мало пока
есть блок в который php функция выводит число, которое постоянно меняется:PHP код:при обновлении страницы число меняется.
<?php
echo "<b>".sizeof(file($base))."</b>";
?>
надо сделать чтобы число менялось с заданныем интервалом в 1 секунду, без перезагрузки страницы.
понимаю что надо использовать setInterval
но не меняется((
пробовал вот так:Код:число выводится но не меняетсяvar number = "<?=sizeof(file($base))?>"; var msgelement = document.getElementById('userOnline').innerHTML=setInterval('number', 1000);
помогите пожалуйста.. измаялся уже. вторые сутки голову ломаю.
- 30.12.2012 02:02
- 30.12.2012 15:30
- Регистрация: 16.04.2011
- Сообщений: 150
- Репутация: 48
Вы не правильно понимаете принцип "Клиентский" и "Серверный" языки.
Конечно число не будет меняться(хотя оно меняется, но вы этого не замечаете), так как оно у вас всегда <?=sizeof(file($base))?>
Для вашей задачи может подойти 2 варианта:
1. Если number будет массивом
2. Использовать ajax, но интервал в секунду слишком мал для него(хотя можно грузить массивами раз в минуту). - 30.12.2012 15:39
- 30.12.2012 15:47
- Регистрация: 16.04.2011
- Сообщений: 150
- Репутация: 48
- 30.12.2012 16:21
- 30.12.2012 21:00
спасибо всем за ответы!!
FullHouse, я сам уже допер что не получится таки методом научно тыка и копания в мануалах дошел до такоего варианта:
Код:НО, считает неправильно. причина в этой строке: number=response.split("|").length-1;setInterval(function() { //Тут Аякс запрос request = new XMLHttpRequest(); request.open("GET", "user_session.txt", true); request.send(null); //Пусть response - Данные из файла var response = request.responseText; number=response.split("|").length-1; var msgelement = document.getElementById("userOnline"); msgelement.innerHTML=number; //Конец Аякс запроса }, 1000);
дело в том что у меня данные в файле хранятся в таком виде: (ниже прикрепил файл)Код:и нужно посчитать только количество значений выделенных жирным шрифтом, это и бедет реальное количество народа онлайн.2uc6oc0g2g2alv6cotbb8k1c85|1356819742 fp6onv96hjv3fsu1jvernm4544|1356819747 t9fee2k4m43qr1e8c3tl71la30|1356819750 tj6m9qijcjp9emq3n5f4vfu7o7|1356819756
исходя из этого split("|") не разобьет строку на новый массив, так как в конце первой строчки нету разделителя |
там просто переход на новую строку.
по поводу 1 секунды в интервале, так стоит только для теста, на локальной машине. в реале будет стоять 30сек - 1мин.Последний раз редактировалось cOAPerator; 30.12.2012 в 21:03.
- 01.01.2013 05:39Код HTML:Код считает количество строчек в файле. Единицу вычитаем именно потому, что последняя строка у вас была пустой. "\n" (без кавычек) символ переноса строки.
... <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> <script> function test() { $.get('user_session.txt', function(data) { var lines = data.split("\n"); alert(lines.length-1); }); } </script> ...
Последний раз редактировалось GreenBanan; 01.01.2013 в 05:51.
Спасибо сказали:
cOAPerator(02.01.2013), - 02.01.2013 07:45
GreenBanan, спасибо за ответ)
сделал аналогично, посредством ajaxкод
Код:setInterval(function() { xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET","modules/user_session.txt"+"?"+Math.random(), true); xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4){ if(xmlhttp.status==200){ number=xmlhttp.responseText.split("|").length-1; //alert(xmlhttp.responseText); var msgelement = document.getElementById("userOnline"); msgelement.innerHTML=number } } }; xmlhttp.send(null); }, 3000);
[свернуть]
мож кому пригодиться)
пс: тему можно закрывать. - 02.01.2013 16:27
cOAPerator, для спасибо есть кнопка. А так, это тоже аякс, просто с jquery мне было меньше писать. Осталось бы обернуть SetInterval и все.
- 02.01.2013 20:53
GreenBanan, да :) ткнул спасибо. вечно забываю про нее
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Интервал между запросами при поиске в YandexMarket | Софт, скрипты, сервисы | 2 | 18.12.2012 15:43 |
Вывод данных через сортировку в mysql | Web программирование | 0 | 20.08.2012 21:36 |
Вывод скриптов, ссылок, картинок в html через php | Вопросы от новичков | 10 | 06.01.2012 02:08 |
Вывод wmr через wm | Обмен | 4 | 28.02.2010 18:28 |