Skip to content
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Условие от количества сообщений за неделю

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

Вроде такого:

<if test="$member['post_week'] > 10">

Контент отображается, если у данного пользователя есть 10 сообщений на форуме за неделю.

</if>

Featured Replies

Нужно делать sql-запрос

<php>$result = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as post_week', 'from' => 'posts', 'where' => "author_id={$member['member_id']} AND post_date > " . (time() - 604800) ) );</php>

<if test="$result['post_week'] > 10">
Контент отображается, если у данного пользователя есть 10 сообщений на форуме за неделю.
</if>

 

  • Author
20 минут назад, newbie сказал:

Нужно делать sql-запрос

Спасибо. Только выбивает в ошибку базы данных

Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND post_date > 1581403588' at line 1
mySQL query error: SELECT COUNT(*) as posts_day FROM ibf_posts WHERE author_id= AND post_date > 1581403588

 

Смотрите, какие данные есть в $member

  • Author
9 минут назад, newbie сказал:

Смотрите, какие данные есть в $member

Как мне это узнать?

print_r / var_dump

Вообще переменная $member существует или Вы ее сами придумали?

  • Author
3 минуты назад, newbie сказал:

Вообще переменная $member существует или Вы ее сами придумали?

Не понял?

  • Author

Вообще post_week не существует.

При чем тут post_week?

2 часа назад, Haktar сказал:

<if test="$member

Данная переменная есть? В каком шаблоне используете код?

  • Author
1 минуту назад, newbie сказал:

Данная переменная есть?

Естественно.

 

1 минуту назад, newbie сказал:

В каком шаблоне используете код?

Испробовал в membersProfileForm (страница настройки форума).

И где Вы в данном шаблоне нашли переменную $member?

Список переменных 

$required_output='',$optional_output='',$day='',$mon='',$year=''

 

  • Author
15 минут назад, newbie сказал:

И где Вы в данном шаблоне нашли переменную $member?

Вот я тормоз! Забыл эту главную основу. Видимо не проснулся толком ещё

  • Author

А что мне тогда в переменные шаблона поставить?

Ничего.

Указанный шаблон виден текущему юзеру.

Вместо 

$member['member_id']

использовать

$this->memberData['member_id']
  • Author
2 часа назад, newbie сказал:

использовать

Спасибо, то что надо 👍

  • Author

Ещё просьба.

Установил sql-запрос на страницу модераторов (шаблон group_strip) для отображения количества сообщений в неделю.

Однако на каждого модератора формирует свой запрос, можно ли оптимизировать это?

 

<php>$result = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as post_week', 'from' => 'posts', 'where' => "author_id={$info['member_id']} AND post_date > " . (time() - 604800) ) );</php>

{$result['post_week']}

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.