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

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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