Получение данных

Статус
Закрыто для дальнейших ответов.

antonhristovsky

New Member
Регистрация
15.02.2012
Сообщения
4
Натолкните, пожалуйста, на мысль. Как реализовать проверку каждые 2 секунды на наличие нового личного сообщения?
 

lekzd

parse error: parse error, unexpected T_STRING...
Регистрация
17.02.2011
Сообщения
1 125
Что? где? куда? откуда? кто все эти люди?

напишите конкретнее
 

vla

Well-Known Member
Регистрация
16.09.2011
Сообщения
230
Тк [member=antonhristovsky] не дал развернутый вопрос, напишу общий ответ:
Заставить функцию выполняться через определенное время можно с помощью setInterval(code,millisec,lang)(JavaScript).

Window setInterval() Method - w3schools.com
setInterval - javascript.ru


Ну я бы так сделал
 

antonhristovsky

New Member
Регистрация
15.02.2012
Сообщения
4
Смотрите. Я работаю в Kohana3. У меня есть контроллер mail и вид mailview и таблица в БД. Как сделать запрос в базу данных без обновления страницы и добавить в общий вид сообщений?
 

lekzd

parse error: parse error, unexpected T_STRING...
Регистрация
17.02.2011
Сообщения
1 125

vla

Well-Known Member
Регистрация
16.09.2011
Сообщения
230
Смотрите. Я работаю в Kohana3.
Как сказала википедия: Kohana - это PHP5 веб-фреймворк. PHP - это на сервере, те он здесь нипричем. А JS и AJAX - это у клиента,то, что тебе надо... Надо делать запрос каждые две секунды наподобии того, что был сделан единожды (при загрузке страницы).
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
например на Жкувэри (Jquery)
Код:
window.setInterval(function() { $("#counter").load("/moduls/counter.php"); }, 3000);
в counter.php проверяешь новые сообщения в таблице.
Но такой подход плохое решение, нагрузка не сервер.
 

antonhristovsky

New Member
Регистрация
15.02.2012
Сообщения
4
например на Жкувэри (Jquery)
Код:
window.setInterval(function() { $("#counter").load("/moduls/counter.php"); }, 3000);
в counter.php проверяешь новые сообщения в таблице.
Но такой подход плохое решение, нагрузка не сервер.
А на JS можно как-то?
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
это и так на JS, если ты имеешь в виду без джэйквэри то конечно можно только кода в пять раз больше писать
как то так:
Код:
  var xmlHttp;
  if (window.ActiveXObject) {
	  try {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
	  catch(e) {
		xmlHttp = false;
	  }
		} else {
	  try {xmlHttp = new XMLHttpRequest();}
	  catch(e) {
		xmlHttp = false;}
	  }
  if (!xmlHttp) alert("ERROR XMLHttpRequest.");
  else
	  return xmlHttp;
function process() {
	if (xmlHttp.readyState == 4) {
		  if (xmlHttp.status == 200) {
   xmlHttp.open("GET", "new_letters.php", true);
   xmlHttp.send(null);
   xmlHttp.onreadystatechange = function() {
	textResponse = xmlHttp.responseText;
	document.getElementById("new").innerHTML = "Новых сообщений " + textResponse;}
	setTimeout('process()', 3000);
	 } else {alert("ERROR IN REQUEST TO SERVER!!!" + xmlHttp.statusText);}
}
}
 
Статус
Закрыто для дальнейших ответов.
Верх Низ