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

Форум PHP

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

 

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

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

тема: не обновляется страница (AJAX)
 
 автор: NovikovMA   (17.08.2007 в 11:23)   письмо автору
 
 

Есть формочка, которая обновляется и показывает некоторые данные из базы.
Она обновляется каджую секнду.(AJAX)
Но проблема не в нем....

Как только открывается страничка - все хорошо. все обновляется, а потом если даже в базу добавляются данные, то php скрипт возвращает пустое значение, как будто ничего не изменилось....

Вот код проверки одновления данных в базе:

<?php
include('JsHttpRequest.php');
include(
'connect.php');
$JsHttpRequest =& new JsHttpRequest("windows-1251");
if((isset(
$_REQUEST['admin_id']))AND(is_numeric($_REQUEST['admin_id']))){
  
$query='
      SELECT
          id,
          user_id,
          time,
          message
      FROM
          messages
      WHERE 
          from_admin=\'true\'
      AND user_id=\''
.$_REQUEST['user_id'].'\'
      AND admin_id=\''
.$_REQUEST['admin_id'].'\'
      AND messages.read=\'false\''
;
  
$result=mysql_query($query);
    
$rows = @mysql_num_rows ($result);
  if((
$rows)&&($rows!=0)){
      while(
$message=mysql_fetch_object($result)){
         
$q='
           UPDATE
               messages
           SET
               messages.read=\'true\'
           WHERE id=\''
.$message->{'id'}.'\'';
         
mysql_query($q);
         if(!isset(
$r)){
           
$r=$message->{'message'};
         }else{
           
$r.="\n\r".$message->{'message'};
         };
    };
  };
};
mysql_close();
 if(
$r!=''){
  
$_RESULT['message'] = $r;
}else{
  
$_RESULT['message']='';  
 };
?>


Если в этом коде закомментировать вызов класса JsHttpRequest и написать $_REQUEST=$_GET; и с нужными параметрами вызвать из браузера, то все работает, а если вызывать его AJAX'ом, то работает только первое обновление, а дальше возвращает пустую строку.

Отладчиу NN говорит, что есть где-то в недрах JsHttpRequest ошибка какая-то странная...
FF ничего не говорит, IE- тоже да и Opera молчит. Значит скорее всего дело не в JS.

Никто не сталкивался с таким?

   
 
 автор: NovikovMA   (17.08.2007 в 11:35)   письмо автору
 
   для: NovikovMA   (17.08.2007 в 11:23)
 

Нет, всетаки это дело в Ajax. Т.к. если написать

if($r!=''){
  $_RESULT['message'] = $r;
}else{
  $_RESULT['message']='123';  
 }; 


то возвращается не 123, а пустая строка....
Ладно, буду дальше думать...
%)

   
Rambler's Top100
вверх

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