Удаление репутации из определённых разделов - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

sql запросы репутация

Страница 1 из 1

Удаление репутации из определённых разделов

#1 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 28 Февраль 2016 - 15:51

Хочу удалить баллы репутации с определённых разделов форума. Какой мне нужно составить запрос к базе данных?
0

#2 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 271
  • Регистрация: 20-Март 09
  • Репутация: 2 077
  • IPB version:3.1.x
 

Отправлено 28 Февраль 2016 - 16:53

- Пересчет счетчика пользователей удалением репутации полученной из определенного раздела:

UPDATE ibf_profile_portal pp 
INNER JOIN (
	SELECT p.author_id, rc.rep_points FROM ibf_reputation_cache rc 
	INNER JOIN ibf_posts p ON (rc.app='forums' AND rc.type='pid' AND rc.type_id=p.pid) 
	INNER JOIN ibf_topics t ON (t.tid=p.topic_id) 
	WHERE t.forum_id=ид_форума
) z ON (pp.pp_member_id = z.author_id) 
SET pp.pp_reputation_points = pp.pp_reputation_points - z.rep_points

- Удаление репутации сообщений из определенного раздела:

DELETE ri.*, rc.* FROM ibf_reputation_index ri 
INNER JOIN ibf_reputation_cache rc ON (rc.app=ri.app AND rc.type=ri.type AND rc.type_id=ri.type_id) 
INNER JOIN ibf_posts p ON (ri.app='forums' AND ri.type='pid' AND ri.type_id=p.pid) 
INNER JOIN ibf_topics t ON (t.tid=p.topic_id) 
WHERE t.forum_id=ид_форума


ид_форума - ид форума из которого нужно удалить репутацию постов.
удалить из форумов 2,3 - t.forum_id IN (2,3)
удалить из всех форумов кроме 2,3 - t.forum_id NOT IN (2,3)

Запросы выполнять строго в соответствующем порядке их следования.
Перед выполнением желательно сделать бэкап таблиц ibf_reputation_index, ibf_reputation_cache, ibf_profile_portal
1

#3 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 29 Февраль 2016 - 00:06

siv1987,
Большое спасибо, то что надо!

Просмотреть сообщениеsiv1987 сказал(а):

ид_форума - ид форума из которого нужно удалить репутацию постов.

А как сразу несколько форумов подключить?
0

#4 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 271
  • Регистрация: 20-Март 09
  • Репутация: 2 077
  • IPB version:3.1.x
 

Отправлено 29 Февраль 2016 - 18:51

Просмотреть сообщениеsiv1987 сказал(а):

удалить из форумов 2 и 3 - t.forum_id IN (2,3)

1

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна