Перейти к контенту

Скрипт выводящий количество сообщений и количество тем...


Рекомендуемые сообщения

Конкретизировать надо, могу предложить такой скрипт:

var post_nums = 10;
var topic_nums= 10;
document.write("Количество сообщений: "+String(post_nums)+"<br>");
document.write("Количество тем: "+String(topics_nums)+"<br>");

 

А кроме шуток - загляните в ssi.php, идёт в папке "Tools_and_Scripts" вместе с дистрибутивом.

 

сделай два селекта типа:

SELECT COUNT(*) FROM ibf_topics

SELECT COUNT(*) FROM ibf_forums

 

смотри что получил и выводи

Незнаю причём тут количество форумов, но примерно так.

 

2Автор, немного напрягая мозг, совместно с 2 и 3 сообщением этой темы у тебя всё получиться.

Изменено пользователем Destruction
Ссылка на комментарий
Поделиться на других сайтах

Спасибо, пойду первым путем (ах, как все легко ;) )

ssi.php - меня убило, даже смотреть на это не хочется, намудрили много :D .

Ссылка на комментарий
Поделиться на других сайтах

Кстате, IPB кэширует данные о количестве постов и топиков.

 

Выдрать всё можно одним запросом.

Ссылка на комментарий
Поделиться на других сайтах

Так, SELECT COUNT(*) FROM ibf_topics - показывает количество тем,

Таблица ibf_forums - это форумы и категории - не подходит.

Значит такой запрос должен быть для просмотра количества сообщений: SELECT COUNT(*) FROM ibf_posts .

В этом случае количество сообщений = количество сообщений - количество тем, т.к. темы берутся из сообщений?

Ссылка на комментарий
Поделиться на других сайтах

Повторяю - данные кэшируются, зачем напрягать MySQL пересчётом всех сообщений?

 

Привожу код, для тех, кому лень глянуть в кэш:

/*--------------------------------------------*/
// IPB 2.1.x, count of topics and posts.
// (c) 2006, Destruction.
/*--------------------------------------------*/
$this->ipsclass->DB->query("SELECT cs_value FROM ibf_cache_store WHERE cs_key='forum_cache' LIMIT 1;");
$r = $this->ipsclass->DB->fetch_row(); // вытаскиваем кэш форумов в переменную
$r = unserialize($r['cs_value']); // приводим данные в человечий вид
$topics = 0; // начальное количество тем
$posts  = 0; // начальное количество сообщений
if(count($r)){ // если в кэше вообще были форумы
foreach($r as $lnk){ // пройдёмся по каждому форуму, обзывая каждый раз его - $lnk
	$topics += $lnk['topics']; // добавим количество тем этого форума в переменную
	$posts  += $lnk['posts']; // добавим количество сообщений этого форума в переменную
}
}
// вывод данных
echo <<<EOF
<html>
<head>
<title>Количество сообщений и тем на форуме</title>
</head>
<body>
Всего тем: $topics<br>
Всего сообщений: $posts
</body>
</html>
EOF;

 

Насчёт КЭШа -

кэш (быстродействующая буферная память большой ёмкости, используемая для хранения копии областей оперативной памяти с наиболее частым доступом)

 

В нашем случае кэш использует другие области памяти, но принцип - тот же.

Изменено пользователем Destruction
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.