Поиск в форумах

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Поиск в форумах

Сообщение dimavsr »

Уважаемые специалисты!!

Подскажите, как расширить возможности "Пользователи" с учетом дополнительных полей. Например, есть 3 дополнительных поля, необходимо, чтобы поиск пользователей осуществлялся с учетом одного или всех сразу дополнительных полей. Возможно ли такое на php3?
Последний раз редактировалось Айдар 11.04.2011 16:09, всего редактировалось 1 раз.
Причина: Перемещено из форума "Поддержки"
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Поиск в форумах

Сообщение владимир1983 »

Гляньте http://www.phpbb.com/community/viewtopi ... &t=2120355
На оффе есть решения, поиск вам поможет.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

Ребят, а кто-нибудь его ставил?

получилось следующее: см.скрин

Что за Family name: ? как привязать это к доп. полям? как создать еще 2 поля?

причем при поиске в этом Family name: выдает

Код: Выделить всё

SQL ERROR [ mysqli ]

Unknown column 'fd.pf_family_name' in 'where clause' [1054]

SQL

SELECT COUNT(u.user_id) AS total_users FROM (phpbb_users u) LEFT JOIN phpbb_profile_fields_data fd ON (u.user_id = fd.user_id) WHERE u.user_type IN (0, 3) AND LOWER(fd.pf_family_name) LIKE 'vcvc' 

BACKTRACE
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Поиск в форумах

Сообщение Sheer »

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

Добавлено спустя 49 секунд:
dimavsr писал(а):Unknown column 'fd.pf_family_name' in 'where clause' [1054]
Перевести?

Добавлено спустя 1 минуту 43 секунды:
dimavsr писал(а):чтобы поиск пользователей осуществлялся с учетом одного или всех сразу дополнительных полей
Это стандартная возможность.
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

Sheer писал(а):Перевести?
желательно))
не совсем понял... уже сделанные изменения убрать?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Поиск в форумах

Сообщение Sheer »

dimavsr писал(а):уже сделанные изменения убрать?
Как хочешь...
Unknown column 'fd.pf_family_name' in 'where clause' [1054]
означает, что поля pf_family_name в таблице profile_fields_data не существует. Unknown column - неизвестное поле.
Мод поставлен криво - не сделаны необходимые изменения в структуре БД.
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

сделал "В качестве примера Поиск пользователей по городу" но работает в том случае если пользователи заполнили необязательное поле "откуда"
а мне надо (это написано в моем первом сообщении) чтобы в поиске присутствовали обязательные для заполнения при регистрации поля
у меня их 3:
from Однострочное текстовое поле
age Число
floor

в файлах memberlist.php, .\styles\prosilver\memberlist_search.html указал идентификатор from но работает стандартное поле "откуда"
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Поиск в форумах

Сообщение Sheer »

dimavsr писал(а):но работает в том случае если пользователи заполнили необязательное поле "откуда"
Естественно.
dimavsr писал(а):а мне надо
Ну так и делай. Пример есть. Или мне сделать за тебя?
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

Sheer писал(а):Ну так и делай. Пример есть. Или мне сделать за тебя?
если бы знал как сделал бы сам. поэтому и обратился на форум специалистов.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Поиск в форумах

Сообщение Sheer »

Опиши конкретно задачу и обратись сюда Рекрутинг
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

Код: Выделить всё

SQL

SELECT COUNT(u.user_id) AS total_users FROM phpbb_users u WHERE u.user_type IN (0, 3) AND (u.user_pf_from LIKE 'hh')

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: memberlist.php
LINE: 1281
CALL: dbal_mysqli->sql_query()
строка $result = $db->sql_query($sql);
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Поиск в форумах

Сообщение Sheer »

Ну и?
Что за поле такое фантастическое user_pf_from в таблице users?
И откуда такой SQL-запрос?

Код: Выделить всё

SELECT COUNT(u.user_id) AS total_users FROM phpbb_users u WHERE u.user_type IN (0, 3) AND (u.user_pf_from LIKE 'hh')
Результат вполне логичен
#1054 - Unknown column 'u.user_pf_from' in 'where clause'
Еще раз объяснить?

Код: Выделить всё

SELECT COUNT(u.user_id) AS total_users FROM phpbb_users u WHERE u.user_type IN (0, 3) AND (u.user_from LIKE 'hh')
SQL-запрос был успешно выполнен
Что и требовалось доказать...
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

переменная from это необязательное "откуда". обязательное "откуда" pf_from (это если посмтреть профиль через исходный код)
таким образом, я везде заменил from на pf_from хотя Вы правы, такой таблицы действительно нет. Но ведь дополнительное поле создано и работает... а таблицы нет
как быть?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Поиск в форумах

Сообщение Sheer »

dimavsr писал(а):это необязательное "откуда". обязательное "откуда"
При чем тут обязательное-необязательное?
dimavsr писал(а):везде заменил from на pf_from
Ну это, простите за прямоту, глупость.
dimavsr писал(а):поле создано и работает... а таблицы нет
Этого не может быть по определению. Таблица есть, и называется она profile_fields_data и описана в файле includes/constans.php

Код: Выделить всё

define('PROFILE_FIELDS_DATA_TABLE',    $table_prefix . 'profile_fields_data'); 
При создании дополнительного поля в профиле, причем не важно, обязательное оно или нет, создается поле в таблице profile_fields_data с соответствующим названием и предваряющим префиксом pf_
Таким образом надо делать выборку одновременно из двух таблиц: users и profile_fields_data, для чего служит оператор sql UNION. Тыц
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Поиск в форумах

Сообщение dimavsr »

не пойму..........
ну я же и написал pf_from

есть пример по которому это реализовано (с учетом дополнительного поля)?

Вернуться в «Запросы модов для phpBB 3.0.x»