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

Форум PHP

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

 

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

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

тема: Вывод сообщений в чате с момента последнего посещения пользователем
 
 автор: DEM   (04.11.2006 в 01:56)   письмо автору
 
 

Вот такой вопрос:

У меня есть файл в котором хранятся все сообщения в чате... Надо что бы только что зашедший пользователь видел сообщения которые писались с момента когда он зашёл и позже (то есть что бы сообщения написаные до его прихода он не видел)... на ум приходит только сверять дату сообщения с датой захода пользователя, но может есть более нормальный способ? Использую SAJAX, PHP и MySQL (ну MySQL там играет минимальную роль, показывает кто в ОНЛАЙНЕ и дату захода пользователя...)

   
 
 автор: ec_stasis   (04.11.2006 в 02:53)   письмо автору
 
   для: DEM   (04.11.2006 в 01:56)
 

так и делай

   
 
 автор: cheops   (04.11.2006 в 12:30)   письмо автору
 
   для: DEM   (04.11.2006 в 01:56)
 

Так и поступают обычно, например, на этом форуме реализована такая же схема - отображаются новые сообщения с момента последнего обращения пользователя к страницам сайта.

   
 
 автор: DEM   (04.11.2006 в 13:10)   письмо автору
 
   для: DEM   (04.11.2006 в 01:56)
 

Хм... вот теперь стал вопрос как имено так сделать :(


<?php
                $file 
file("wall.html");
                
$oa mysql_fetch_array(mysql_query("SELECT * FROM online WHERE login='".$_SESSION['login']."'"));
                for(
$cht=0;$cht<=count($file)-1;$cht++)
                {
                  
$exp[$cht] = explode("|"$file[$cht]);
                  if(
$exp[$cht]['1']>=$oa['time_zahod'])
                  {
                    
$lines $file[$cht];
                  }
                }

?>


Но что-то не получается :( Файл имеет вид
НИК|ДАТА|СООБЩЕНИЕ

   
 
 автор: cheops   (04.11.2006 в 13:21)   письмо автору
 
   для: DEM   (04.11.2006 в 13:10)
 

Дата какой формат имеет? UNIXSPAMP?

   
 
 автор: DEM   (04.11.2006 в 13:26)   письмо автору
 
   для: cheops   (04.11.2006 в 13:21)
 

Дата заносится так:

date("h:i:s")

Поле в котором оно хранится (в Мускуле), типа time

   
 
 автор: DEM   (05.11.2006 в 14:13)   письмо автору
 
   для: DEM   (04.11.2006 в 13:26)
 


<?php
        
function refresh() 
{
                
$file file("wall.html");
                
$oa mysql_fetch_array(mysql_query("SELECT * FROM online WHERE login='".$_SESSION['login']."'"));
                for(
$cht=0;$cht<=count($file)-1;$cht++)
                {
                  
$exp[$cht] = explode("|"$file[$cht]);
                  if(
$exp[$cht]['1']>=$oa['time_zahod'])
                  {
                    
$lines $file[$cht];
                  }
                }

                return 
join("\n"array_slice($lines, -200));
        }
?>

Так не работает... а если напистаь просто:

<?php
        
function refresh()
 {
                
$lines file("wall.html");

                return 
join("\n"array_slice($lines, -200));
        }
?>

То он выводит полностью весь файл :(

   
 
 автор: kasmanaft   (05.11.2006 в 20:15)   письмо автору
 
   для: DEM   (05.11.2006 в 14:13)
 

if($exp[$cht]['1']>=$oa['time_zahod'])
{
$lines = $file[$cht];
}

$lines тут у вас не массив, а строка получается ... а чтобы добавить строку в массив используйте
$lines[] = $file[$cht];

   
 
 автор: DEM   (05.11.2006 в 21:16)   письмо автору
 
   для: kasmanaft   (05.11.2006 в 20:15)
 

Большое-прибольшое спасибо! Наконец-то заработало!!! Несколько дней долбался не получалось. а потом просто обозначил $lineas массивом и сделал как ты сказал... фу-у-ух...

   
Rambler's Top100
вверх

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