Re: TOP 10
А вот это не оно?
wiki.punres.org/Top_20_active_users_list
|
Фонд моральной поддержки |
|
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
PunBB по-русски → Модули и плагины → TOP 10
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Slavik
если память не отшибает было примерно так:
получать дату на пхп и втыкать её в базу дольше, чем генерировать дату в самом мускуле.
А вот это не оно?
wiki.punres.org/Top_20_active_users_list
не оно.
TOP N не имеет смысла получать за всю историю. интереснее получить активных за неделю или другой не очень большой срок
Так а чего... все ведь работает при варианте artoodetoo:
<?php
$result = $db->query('SELECT p.poster_id AS id, count(*) AS num_posts
FROM posts AS p
WHERE (TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(p.posted))) <= 7
GROUP BY id
ORDER BY num_posts DESC
LIMIT 0,9');
while ($data = $db->fetch_assoc($result))
{
echo "\t\t\t\t\t\t".'<a href="profile.php?id='.$data['id'].'">'.pun_htmlspecialchars($data['username']).'</a> ('.$data['num_posts'].') '."\n";
}
?>Но только выдаёт результат таким образом:
(139) (120) (90) (70) (55) (43) (32) (23) (12) (8)
Без ников...
А как ники-то привентить?
Что-то никак не превинчивается... голову уже сломал куда это:
u.username
LEFT JOIN u AS users ON u.id=p.poster_idзасовывать???
$result = $db->query('SELECT u.username, p.poster_id AS id, count(*) AS num_posts
FROM posts AS p
LEFT JOIN users AS г ON u.id = p.poster_id
WHERE (TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(p.posted))) <= 7
GROUP BY id
ORDER BY num_posts DESC
LIMIT 0,9');Добавлено 02.08.2007 02:02:58:
Да, и не заубдь префикс если надо
Не знаю, но не работает.
Такой вариант вроде тоже пробовал.
<?php
$result = $db->query('SELECT u.username, p.poster_id AS id, count(*) AS num_posts
FROM posts AS p
LEFT JOIN users AS г ON u.id = p.poster_id
WHERE (TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(p.posted))) <= 7
GROUP BY id
ORDER BY num_posts DESC
LIMIT 0,9');
while ($data = $db->fetch_assoc($result))
{
echo "\t\t\t\t\t\t".'<a
href="profile.php?id='.$data['id'].'">'.pun_htmlspecialchars($data['username']).'</a>
('.$data['num_posts'].') '."\n";
}
?>Без u.username работает но ников (что естественно) нет.
А если это
LEFT JOIN users AS г ON u.id = p.poster_idзаменить на это
LEFT JOIN users AS u ON u.id = p.poster_id? ![]()
Griffon
Вау!
Работает!
Вот блин как бывает... из-за одной буковки... ![]()
Прикольно ![]()
Целой дивизией делали маленький модик.
Что то последний кусок у меня не работает - не выводит пользователей.
ЗЫ у меня сайт на винде стоит
ЗЫ2 при каких условиях будут показываться пользователи и каково их количество.
а куда код вставлять чтоб он писал эту статистику там где сколько гостей, сколько зарегеных, щас на форуме???
И если не сложно выложите архив с описанием пожайлуста...
Мож все-таки кто скажет почему не происходит вывод пользователей? пост номер 39
Вот хороший пример - www.armadaboard.com/
Я так понимаю, там топ составляется по активности за день. Это действительно, как правило, самые активные посетители.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
PunBB по-русски → Модули и плагины → TOP 10
Сгенерировано за 0.256 секунды (26% PHP — 74% БД) 11 запросов к базе данных
Технологии с открытым исходным кодом, несомненно, обладают серьезным преимуществом над аналогичными продуктами, распространяемыми по ограниченным лицензиям. И совершенно неважно, что это. Возможно это:
Впрочем, неважно. Что бы это ни было, важно всячески поощрять и поддерживать Open Source в любом виде. Тем более, что вы знаете, PunBB распространяется по лицензии GPL/GNU. И спасибо за внимание.