Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.11.2012, 01:06
Новичок на форуме
Отправить личное сообщение для tayler882 Посмотреть профиль Найти все сообщения от tayler882
 
Регистрация: 24.11.2012
Сообщений: 2

Обновление не существующих сообщений ajax
Здравствуйте, пожалуйста подскажите как реализовать ajax-запрос для подсчета сообщений из БД и их удаления (не существующие сообщения в БД), если надо.

На данный момент функция получения новых сообщений выглядит:
function get_chat_messages () 
	{	
		if ($('#block').val() == 'no') // если не выставлена блокировка повторного выполнения данной функции, продолжаем
		{
			$('#block').val('yes'); // ставим блокировку
			var last_act = $('#last_act').val();
			$.ajax(
			{
				url: 'func/chat_scripts.php',
				type: 'POST',
				data: 
				{
					'action': 'get_chat_message',
					'last_act': last_act
				},
				dataType: 'json',
				success: function (result) 
				{
					$('#block').val('no');
					
					$('#chat_text_field').append(result.message_code); // добавляем в текстовое поле новые сообщения
					$('#last_act').val(result.last_act); // обновляем значение последнего сообщения	
					// автопрокрутка текстового поля вниз
					$('#chat_text_field').scrollTop($('#chat_text_field').scrollTop()+100*$('.chat_post_my, .chat_post_other').size());	
					
					
					
				} // конец success
			}); // конец ajax	
		}
		
	}


Сервер обрабатывает:

// получение новых сообщений
if ($_POST['action'] == 'get_chat_message')
{
	$last_act = safe_var($_POST['last_act']); // номер бывшего последнего сообщения
	
	$sel_result = mysql_query("SELECT * FROM chat_logs WHERE id > '$last_act' ORDER BY message_date ASC, id ASC");
		
	if (mysql_num_rows($sel_result)>0) 
	{
		$sel_row = mysql_fetch_array($sel_result);

        do 
        {
			if ($sel_row['nickname'] == $_SESSION['login']) // собственное сообщение
			{
				$message_code .= '<p class="chat_post_my"><span class="chat_mess_time"><strong>['.date("H:i:s",strtotime($sel_row['message_date'])).']</strong> - </span><span class="chat_nickname">'.$sel_row['nickname'].': </span>'.$sel_row['message_text'].'</p>';
			}
			else // чужое сообщение
			{
				$message_code .= '<p class="chat_post_other"><span class="chat_mess_time"><strong>['.date("H:i:s",strtotime($sel_row['message_date'])).']</strong> - </span><span class="chat_nickname" onclick="chat.splace2(\''.$sel_row['nickname'].',\',\'bb\');"><a href="#">'.$sel_row['nickname'].'</a>: </span>'.$sel_row['message_text'].'</p>';
			}

			$last_act = $sel_row['id']; // номер текущего последнего сообщения
		}
        while($sel_row = mysql_fetch_array($sel_result));
		$message_code = preg_replace("/(\[)([abc]{1,1}[a-z]{1,1}|[d]{1,1}[a-v]{1,1})(\])/","<img src=\"images/smiles/\${2}.gif\" />",$message_code,-1);
		// отправляем полученные переменные в формате json
		$data_str = array('message_code' => $message_code, 'last_act' => $last_act);
		echo json_encode($data_str); 
	}	
}
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2012, 16:10
Новичок на форуме
Отправить личное сообщение для tayler882 Посмотреть профиль Найти все сообщения от tayler882
 
Регистрация: 24.11.2012
Сообщений: 2

UPPPPPPPP
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2012, 17:13
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от tayler882 Посмотреть сообщение
запрос для подсчета сообщений из БД
select count(*) from <tablename> where <condition>

даёшь меньше внятного текста и больше расплывчатости формулировок!
и да - чем больше приложено листингов кодов, тем лучше!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление iframe с помощью AJAX Aglenn AJAX и COMET 4 02.09.2011 22:48
Ajax обновление файла DmitryOpalev AJAX и COMET 5 09.06.2011 11:46
ajax выборка сообщений maximu$$ AJAX и COMET 5 05.05.2011 14:45
Обновление сессии по таймеру AJAX -Aleks- AJAX и COMET 6 17.10.2010 18:58
jQuery, jsTree - обновление дерева через ajax extremum.func jQuery 2 09.11.2009 14:48