|
|
|
| Есть формочка, которая обновляется и показывает некоторые данные из базы.
Она обновляется каджую секнду.(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:23)
| | Нет, всетаки это дело в Ajax. Т.к. если написать
if($r!=''){
$_RESULT['message'] = $r;
}else{
$_RESULT['message']='123';
};
|
то возвращается не 123, а пустая строка....
Ладно, буду дальше думать...
%) | |
|
|
|