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

Вывод статистики форума


El Loco

Вопрос

Задача: вывести на главную страницу сайта статистику форума такого вида:

 

Всего на форуме XXX сообщений в XXX темах

Зарегистрированных участников: XXX

 

Код такой:

// Инициализация ...
...
...
// Подсчет строк
$posts_cnt = mysql_query("SELECT pid FROM ibf_posts");
$total_posts = mysql_num_rows($posts_cnt);

$topics = mysql_query("SELECT tid FROM ibf_topics");
$total_topics = mysql_num_rows($topics);

$members = mysql_query("SELECT id FROM ibf_members");
$total_members = mysql_num_rows($members); //
...
...
// Вывод
Всего на форуме <b>$total_posts</b> сообщений в <b>$total_topics</b> темах<br>
Зарегистрированных участников: <b>$total_members</b>

 

Цифры на сайте, выведенные путем подсчета строк, не сходятся с числами на главной странице форума.

 

Как сделать, чтобы совпадало?

Версия ipb 2.1.x

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

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

  • 0

?? не понял.

мне нужно вывести эти данные на главную страницу сайта. на главной сайта установлен мод "latest posts", и к нему мне захотелось прикрутить статистику.

возможно, есть более оптимальный способ вывода.

вот я и прошу совета.

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

  • 0

Нашел этот ssi.php (вместе с ipb221 :D).

 

там есть такой код:

 

	/**
* Do Stats
*
* Show totals
*/
function do_stats()
{
	//----------------------------------------
	// Load the template...
	//----------------------------------------

	$template = $this->load_template("stats.html");

	//----------------------------------------
	// INIT
	//----------------------------------------

	$to_echo = "";
	$time	= time() - 900;

	//----------------------------------------
	// Make sure we've got something
	//----------------------------------------

	if ( ! is_array( $this->ipsclass->cache['stats'] ) )
	{
		$this->ipsclass->cache['stats'] = array();

		$this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );
	}

	$stats	   = $this->ipsclass->cache['stats'];
	$total_posts = $stats['total_replies']+$stats['total_topics'];
	$to_echo  = $this->parse_template( $template,
												 array (
														  'total_posts'  => $total_posts,
														  'topics'	   => $stats['total_topics'],
														  'replies'	  => $stats['total_replies'],
														  'members'	  => $stats['mem_count']
													   )
												 );
	echo $to_echo;

	exit();
}

 

вроде оно?

я пока язык пхп знаю не так, как хотелось бы.

 

т.е., мне нужно вставить эту функцию в код главной страницы?

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

  • 0
$posts_cnt = mysql_query("SELECT pid FROM ibf_posts");

$total_posts = mysql_num_rows($posts_cnt);

 

$topics = mysql_query("SELECT tid FROM ibf_topics");

$total_topics = mysql_num_rows($topics);

 

$members = mysql_query("SELECT id FROM ibf_members");

$total_members = mysql_num_rows($members); //

:D;)

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

  • 0

ну извините. мы не прогруммисты.

топорно. да. по-другому не знаю как.

в версии 21* таблицы статистики в БД нет.

если посоветуете чем-нибудь, скажу спасибо.

а просто мегалолы постить дурной тон.

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

  • 0

разобрался. Оверхерцу спасибо.

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

 

Для, таких ламеров как я, рассказываю.

 

Заливаем в корень форума файлы:

1. ssi.php

2. всю папку ssi_templates

 

Эти файлы берутся из дистрибутива в папке Tools.

 

Далее, в коде главной страницы сайта вставляем такой код:

include("http://domain.com/forums/ssi.php?a=stats");

 

главная страница сайта д.б. с расширением php, чтобы сработала вставка.

 

также можно вставить например такой код:

include("http://domain.com/forums/ssi.php?a=active");

 

и на сайте будет отображаться список людей, сидящих на форуме.

 

В папке ssi_templates можно подректировать html-файлы, чтобы блоки вписывались в дизайн сайта.

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

  • 0
$posts_cnt = mysql_query("SELECT pid FROM ibf_posts");

$total_posts = mysql_num_rows($posts_cnt);

 

$topics = mysql_query("SELECT tid FROM ibf_topics");

$total_topics = mysql_num_rows($topics);

 

$members = mysql_query("SELECT id FROM ibf_members");

$total_members = mysql_num_rows($members); //

:D;)

странная манера смеяться в лицо, если считаете, что знаете лучше собеседника

 

единственное объяснение такому, это когда человек гений! развит всесторонне и обладает исключительными знаниями во всех, абсолютно, аспектах жизни

 

((

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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