Искать  
 
   
 
Сегодня на сайте были
Отправлено: 01 Январь 2008 03:34 P.M.   [ Игнорировать ]
Студент
RankRank
Всего сообщений:  92
Зарегистрирован  2008-01-02

Подскажите, как сделать такую функцию, типа “Сегодня на сайте побывало столько то участников и перечисляются их имена”. Я так понимаю что нужно указывать временной промежуток где-то

Профиль
 
 
Отправлено: 01 Январь 2008 10:56 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

Если вас интересуют посетители именно сегодня, то попробуйте следущий запрос:

{exp:query sql="SELECT screen_name AS s_name, member_id  AS m_id FROM exp_members WHERE 
UNIX_TIMESTAMP(from_unixtime(last_activity,'%Y-%d-%m')) = UNIX_TIMESTAMP(CURDATE()) 
ORDER BY member_id DESC LIMIT 50"
<a href="{path="member/{m_id}"}">{s_name}</a>
{/exp:query} 

Берем дату подледного посещения сайта пользователем из таблицы exp_members, переводим из unixtime’a в обычный вид, выводим только дату и возвращаем в unixtime (если кто-то знает более простой способ отсечь в unixtime минуты, часы, секунды - подскажите). И все - делаем выборку тех посетителей, чей поселений last_activity совпадает с нашей датой.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 29 Январь 2008 11:07 P.M.   [ Игнорировать ]   [ # 2 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07

Не сработал у меня тот вариант, вот мое решение, поситителя за последние 24 часа:

<?php
global $LOC;
$time_limit 1440;
$
24h $LOC->now - ($time_limit 60);
?>
            
{exp
:query sql="SELECT DISTINCT(screen_name) as sname, , member_id  AS m_id FROM exp_members m WHERE m.last_activity > <?php echo $24h; ?> ORDER BY last_activity DESC LIMIT 50"}
<a href="{path="member/{m_id}"}">{s_name}</a>
{/exp:query} 
Профиль