Числовые переменные.

Автор we1t, 08 апреля 2009, 12:22:16

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

we1t

Здравствуйте! Не подскажете, как называются числовые переменные, которые хранят  id нового пользователя, id новой темы и id нового сообщения? Либо, соответственно, легко вычисляются (например,  id последнего зарегистрированного пользователя, id последней созданной темы и id последнего опубликованного сообщения).
Или укажите тему обсуждения (искал долго и тщетно, но не нашел).
SMF 1.1.8.

Спасибо.

we1t

Вот кусок исходного кода файла темы BoardIndex.template.php:

<span class="middletext">
', $context['common_stats']['total_posts'], ' ', $txt[95], ' ', $txt['smf88'], ' ', $context['common_stats']['total_topics'], ' ', $txt[64], ' ', $txt[525], ' ', $context['common_stats']['total_members'], ' ', $txt[19], '. ', $txt[656], ': <b> ', $context['common_stats']['latest_member']['link'], '</b>
<br /> ' . $txt[659] . ': <b>"' . $context['latest_post']['link'] . '"</b>  ( ' . $context['latest_post']['time'] . ' )<br />
<a href="', $scripturl, '?action=recent">', $txt[234], '</a>', $context['show_stats'] ? '<br />
<a href="' . $scripturl . '?action=stats">' . $txt['smf223'] . '</a>' : '', '
</span>


Где
$context['common_stats']['total_posts'] - выводит количество постов,
$context['common_stats']['total_topics'] - выводит количество тем,
$context['common_stats']['total_members'] - выводит количество пользователей, но!

Мне нужно не общее количество, а идентификационный номер последнего поста, темы, пользователя (а эти значения не равны, т.к. есть еще темы в "корзине", да и вообще удаленные).

Частично id последнего сообщения зашифрован в "10-ке последних сообщений" в гиперссылке, но мне кажется, "выдергивать" оттуда бессмысленно.

<td class="middletext" valign="top"><b>', $post['link'], '</b> ', $txt[525], ' ', $post['poster']['link'], ' (', $post['board']['link'], ')</td>


digger®


$context
['latest_post']['id'] - id последнего поста
$context
['common_stats']['latest_member']['id'] - id последнего юзера

Id последней темы вроде бы в явном виде нету.

we1t

Спасибо! Но эта связка работает только на главной странице.
Возможно ли найти более универсальное решение? Например, запрос к базе данных по последнему номеру строки в таблицах smf_members (ID_MEMBER), smf_topics (ID_TOPIC), smf_messages (ID_MSG)?

digger®

Цитата: we1t от 10 апреля 2009, 11:47:13
Спасибо! Но эта связка работает только на главной странице.
Возможно ли найти более универсальное решение? Например, запрос к базе данных по последнему номеру строки в таблицах smf_members (ID_MEMBER), smf_topics (ID_TOPIC), smf_messages (ID_MSG)?

Выбирайте из таблиц последние записи.

BIOHAZARD

Цитата: digger от 10 апреля 2009, 17:29:41
Выбирайте из таблиц последние записи.
вернее с максимальным id
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

we1t

Цитата: BIOHAZARD от 11 апреля 2009, 10:08:21
вернее с максимальным id

Спасибо за ответы. ) Если кто смог бы выложить код, был бы признателен (хотя бы образец).


we1t

Цитата: digger от 15 апреля 2009, 12:54:47
Цель в итоге какая преследуется?

Присвоить новым переменным значения максимального (последнего?) id: smf_members (ID_MEMBER), smf_topics (ID_TOPIC), smf_messages (ID_MSG).

digger®

Цитата: we1t от 15 апреля 2009, 13:20:58
Присвоить новым переменным значения максимального (последнего?) id: smf_members (ID_MEMBER), smf_topics (ID_TOPIC), smf_messages (ID_MSG).

А потом что с этими переменными будет происходить?

we1t

Цитата: digger от 15 апреля 2009, 13:52:26
А потом что с этими переменными будет происходить?

Соответственно, надо выводить информацию о количестве всех написанных сообщений, всех тем, всех зарегистрированных пользователей.

BIOHAZARD

оно и так выводится в разделе "[Подробная статистика]" = /index.php?action=stats
или
Конфигурация >> Текущая тема оформления >> Темы и настройки >>Отображать статистику форума на главной странице

хотя возможно, что в твоей теме этого нет
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ


we1t

Цитата: BIOHAZARD от 15 апреля 2009, 14:46:06
оно и так выводится в разделе "[Подробная статистика]" = /index.php?action=stats
или
Конфигурация >> Текущая тема оформления >> Темы и настройки >>Отображать статистику форума на главной странице

хотя возможно, что в твоей теме этого нет

Нет, она есть, но выводится не совсем верно. В частности, по пользователям, чтобы показать истинное число, нужно при регистрации не "одобрять", а "требовать активации" пользователя в настройках, при удалении (переносе в корзину) - число сообщений уменьшается, а число топиков нет, при восстановлении - не знаю, изменяется ли статистика, но при восстановлении из корзины в профиле пользователя количество сообщений не прибавляется. Есть и другие "глюки". Это не совсем правильно. Поэтому, если пользователи не удалялись, и сообщения из корзины тоже, их общее число равно последнему id в таблице (так как алгоритм создания нового сообщения и представляет собой увеличение id на "1", с пользователями то же самое).

digger®

Цитата: we1t от 15 апреля 2009, 15:09:50
Поэтому, если пользователи не удалялись, и сообщения из корзины тоже, их общее число равно последнему id в таблице

Это какой-то "сферический конь в вакууме" - форум на котором не удалялось ни одного пользователя и ни одного сообщения :)

BIOHAZARD

в любом случае, здесь надо не id проверять, а количество записей в соответствующих таблицах
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

we1t

Нет, мне не нужно количество записей в таблицах, нужны все когда-либо опубликованные варианты. Делается это примерно так (извиняюсь за возможную "кривизну"):

$a=mysql_query("SELECT MAX(ID_MEMBER) FROM smf_members");
$b=mysql_result($a,0);


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

Теперь встал следующий вопрос, как просуммировать данные из каждого столбца в index.php?action=stats (Статистика -> История форума -> Статистика по месяцам)?
По идее, они должны были совпасть с искомыми значениями, но немного не совпадают.