Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [mysql] вывод сообщений чата в обратном порядке 
V
    Опции темы
Alix36
Дата 24.1.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 6.11.2006

Репутация: 1
Всего: 3



1.Sql таблица |who|time|room|msg|id|privat|
2.выводим  сообщения
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor="#DAE4D6" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<?
include "chat_function.php";

dbcon();
$room=$_GET['room'];
$q=mysql_query("SELECT * FROM chat_msg WHERE room=\"$room\"") or die(mysql_error());
//выводим 50 сообщений
$i=0;
while($i<50)
 {
 $tim=mktime()-10*60;
while($d=mysql_fetch_row($q))
{

 if($d[1]>$tim)//проверяем на давность
 {
 
 //проверка на запрещенные тэги и смайлы
 $message=$d[3];
$message=ereg_replace("\'","ґ",$message);
/////////////////////////////////////////////////////////tegs
$message=ereg_replace("<br>","",$message);
$message=ereg_replace("<","",$message);
$message=ereg_replace(">","",$message);
////////////////////////////////////////////////////////////////tegs end
/////////////////////////////////////////////////////smiles
$message=ereg_replace("=)","<img src=img/smiles/1.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace("=))","<img src=img/smiles/2.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":4ert:","<img src=img/smiles/3.gif width=20 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":{","<img src=img/smiles/4.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(";)","<img src=img/smiles/5.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":)","<img src=img/smiles/6.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace("#","<img src=img/smiles/7.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":{","<img src=img/smiles/8.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":lov:","<img src=img/smiles/9.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":?:","<img src=img/smiles/10.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":death:","<img src=img/smiles/11.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":)","<img src=img/smiles/12.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":)","<img src=img/smiles/13.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":)","<img src=img/smiles/14.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":)","<img src=img/smiles/15.gif width=16 height=16 vspace=0 border=0>",$message);
$message=ereg_replace(":)","<img src=img/smiles/16.gif width=16 height=16 vspace=0 border=0>",$message);
/////////////////////////////////////////////////////////smiles end

 if($d[5]==0 || !isset($d[5]) || $d[5]=="")//если не приватное
 {
print getdatestring($d[1]);//функция формирует дату из time()
   echo " : <b>";//Вывод сообщения
   print_r($d[0]);
   echo "</b> : ";
   print_r($message);
   echo "<br>";
   }
   elseif($d[5]==$id)
   {
   print getdatestring($d[1]);
   echo " : <b>";
   print_r($d[0]);
   echo "(Приват)</b> : ";
   print_r($message);
   echo "<br>";
   }
   
   }
  
   }

 $i++;
 }
echo setlocation('chmain',5,'chatmain.php');//обнавыляем фрейм
?>
</body>
</html>

3.код сделан так, что выводит сообщения по ID в базе, т.е 1=>2=>3 и т д.
как сделать чтобы выводил нааборот 3=>2=>1
а лучшескажите какое для этой проблемы оптимальное решение?

Добавлено @ 14:29 
Те. нужно сделать вывод новых сообщений "сверху"



M
Mal Hack
Название темы должно отражать ее суть
Тема для форума по БД. Неужели надо вешать кирпичи, чтобы научить правильно создавать темы?
Ограничиваюсь последним устным предупреждением.

 Правила форума: http://forum.vingrad.ruhttp://forum.vingra...ct-SR/f-27.html


--------------------
Наши лица как дым, И никто не узнает как мы победим. (С)Пикник.
PM MAIL   Вверх
mishaSL
Дата 24.1.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 7
Всего: 54



в запросе делаешь сортировку:
Код

$q=mysql_query("SELECT * FROM `chat_msg` WHERE `room`='".$room."' ORDER BY `id` DESC") or die(mysql_error());



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
PARROT
Дата 24.1.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



Для таких вещей есть мануал и поиск http://www.mysql.ru/docs/man/Sorting_rows.html


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Alix36
Дата 24.1.2007, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 6.11.2006

Репутация: 1
Всего: 3



PARROT, спасибо огромное, никогда раньше не видил ) спасибо!

Добавлено @ 20:01 
mishaSL, а за код двойное спасибо!


--------------------
Наши лица как дым, И никто не узнает как мы победим. (С)Пикник.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.