Перейти к контенту
  • 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;)

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

 

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

 

((

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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