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

Переменная в SQL и topics.php


Вопрос

Нужно было внести изменения в модификацию - добавить возможность убирать определенную фичу как целым группам, так и отдельным пользователям. С группами все прошло гладко - создал чекбокс при создании/редактировании группы, привязал к переменной в *_groups, добавил условие в topics.php, где, собственно, и расположена эта фича, которую необходимо было скрыть.

Трудности возникли при аналогичных действиях в *_members, для отдельных пользователей. В topics.php добавлялось условие в функцию parse_member. Условие простое - если имя_переменной в _members !=1 - значит показывать блок (например - тот же блок аватаров). Но, какое бы значение не было выставлено - аватары все равно показываются для данного пользователя. Условие построено верно - пробовал брать значение mgroup - с ним работает гладко.

Есть только два предположения:

1) В topic.php эту переменную сначало необходимо объявить (но сам понял, что бред - брал собственную переменную из _groups - тоже прекрасно работает)

2) Неверно созданная колонка в таблице... тоже вроде бы бред, но все-таки:

ALTER TABLE `*_members` ADD (`переменная` TINYINT(1) DEFAULT '0');

 

А так - больше нет предположений, почему он игнорирует это условие...

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

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

  • 0
Не знаю где находится эта функция в 1.3, но вижу одну зацепку: перед тем как передать строку в parse_member, она берётся из БД форума, поищите этот запрос и добавьте в него выборку этого поля.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

2Sannis:

Я находил два похожих запроса, вставлял имя поля в оба и в каждое по отдельности - результат тот же. К тому же - ведь если он проглотил условие с переменной из другой таблицы, то выборка тут вряд ли на что-то влияет..

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

  • 0
Мне нужно вывести в топике название категории, в которой пользователь проявляет наибольшую активность. Есть стандартная переменная favourite_forum - форум, в котором пользователь проявляет наибольшую активность. Как вытащить название родительноской категории этого форума и отобразить в топике?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Мне нужно вывести в топике название категории, в которой пользователь проявляет наибольшую активность. Есть стандартная переменная favourite_forum - форум, в котором пользователь проявляет наибольшую активность. Как вытащить название родительноской категории этого форума и отобразить в топике?

Уточним:

Нет "стандартной" переменной. В профиле выводится из Profile.php строкой

$info['fav_forum']   = $favourite['name'];

Переменная определена в функции view_profile(); в Topics.php эта переменная не определена.

 

Выход - добавить в Topics.php нужные запросы (взять по образцу из Profile.php).

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

  • 0

FatCat

 

Выход - добавить в Topics.php нужные запросы

 

Спасибо.

Я пока еще в этом не разбираюсь :D

В Profile.php взял код:

$DB->query("SELECT DISTINCT(p.forum_id), f.name, COUNT(p.author_id) as f_posts FROM ibf_posts p, ibf_forums f ". "WHERE p.forum_id IN ($forum_id_str) AND p.author_id='".$member['id']."' AND p.forum_id=f.id GROUP BY p.forum_id ORDER BY f_posts DESC");
$favourite   = $DB->fetch_row();

Вставил это кусок в Topics.php. Результат - ошибка.

mySQL error: 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 p.author_id='2' AND p.forum_id=f.id GROUP BY p.forum_id OR

Какая-то переменная не определена? Не подскажете, как сформировать правильный запрос?

 

И даже, если этот вариант получится, я могу вывести только $favourite['name'].

А это имя приоритетного форума, а не категории.

Как вытащить "родительскую" категорию этого форума?

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

  • 0
Может кто-то прокомментировать вышеописанную проблему и действия? Очень нужна помощь :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Какая-то переменная не определена?

$forum_id_str

 

Мне нужно вывести в топике название категории, в которой пользователь проявляет наибольшую активность. Есть стандартная переменная favourite_forum - форум, в котором пользователь проявляет наибольшую активность. Как вытащить название родительноской категории этого форума и отобразить в топике?

Таблица ibf_forums, поле category

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

  • 0

К сожалению, не мой уровень. Всё равно не понятно ;)

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

285-390-390

Буду очень благодарен :D

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

  • 0

Song

Не за что извиняться. Всё понимаю. Хотя бы в чат свой зайди :D

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

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

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

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

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

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

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

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

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

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

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

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