Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Список городов со ссылками

Идеи для расширения функциональности phpBB 2.0.x
sibirjak
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 2 месяца

Список городов со ссылками

Сообщение sibirjak »

Добрый день!

Хотелось бы получить возможность вывода списка городов с уникальными именами и количеством пользователей напротив каждого поля. Но для случая, когда в поле "Откуда" в том числе может указываться НЕСКОЛЬКО городов через разделитель (не пробел).
Плюс на каждый город в списке - сделать ссылку на страничку уже со списком пользователей из этого города.
Подобную реализацию я пока не нашел на форумах phpbb поддержки.
Спасибо!
velo
phpBB 2.0.1
Сообщения: 252
Стаж: 16 лет 7 месяцев

Сообщение velo »

Я делал такой вот вариант : http://www.velo.ucoz.ru/board/1-1
но не на PHPBB. Сейчас делаю вариант под PHPBB. Процесс не быстрый, как готовый МОД, тем более оформленный - будет не раньше января.
А так вообще, эти задачи решаются обычными фильтрациями по SQL запросам, предварительно создав соответствующие поля в USER таблице.
WORK: phpBB3 3.0.8 + Portal XL 5.0 + MODs + Custom,
PHP Version 5.3.3-7+squeeze25, Apache/2.2.9 (Debian), MySQL(i) 5.1.73-1+deb6u1-log
sibirjak
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 2 месяца

Сообщение sibirjak »

собственно, я добавил несколько полей под разные города. Однако, возникла проблема с сортировкой результатов выдачи (в случае с использованием UNION для объединения запросов по нескольким полям) - по буквам сортируется местами, а вот по алфавиту нарушен порядок. В случае использования временной таблицы, куда запихиваем в одно поле выборки из разных полей основной таблицы, на выходе тоже не фонтан - появляется какое-то левое пустое поле - стоит первым в реультате выдачи, притом, что я пытался фильтровать пустые поля, не выдавать их.
Если религия тебе позволяет, положи пожалуйста свой запрос по нескольким полям с сортировкой (если таким пользовался). На форумах веду щас дискуссии, но пока как-то толку мало...
Карта понравилась :) Я планировал нечто такое на своем сайте, только без областей, но с городами подсвеченными на карте.
velo
phpBB 2.0.1
Сообщения: 252
Стаж: 16 лет 7 месяцев

Сообщение velo »

Самый удобный в этом случае является запрос c LIKE имя%, тогда введеные несколько городов в одно поле выводятся по запросу любого из них.

Пример - вот по этой ссылке уже сделанная работа на phpBB2:
http://www.velocat.ru/velo/phpBB2/index.php

Здесь под никами указан город, если его в профиле указал пользователь. Нажатие на город выводит пользователей по этому городу, или по нескольким, если в этом поле их несколько. Нажатие на флаг над аватаром выводит карту этой страны. (Ну и плюс специфичное дополнение - нажатие на модель байка выводит мемберлист с пользователями указавшими у себя в профиле такую марку)
sibirjak писал(а):Если религия тебе позволяет, положи пожалуйста свой запрос по нескольким полям с сортировкой (если таким пользовался).
Не понял про религию, и не понял какой именно запрос.
WORK: phpBB3 3.0.8 + Portal XL 5.0 + MODs + Custom,
PHP Version 5.3.3-7+squeeze25, Apache/2.2.9 (Debian), MySQL(i) 5.1.73-1+deb6u1-log
sibirjak
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 2 месяца

Сообщение sibirjak »

velo писал(а): Пример - вот по этой ссылке уже сделанная работа на phpBB2:
http://www.velocat.ru/velo/phpBB2/index.php
Спасибо за ссылку :) Правда, должен получиться классный мод для phbb.
velo писал(а): Не понял про религию, и не понял какой именно запрос.
Про религию, ну , пошутил так :) Просто довольно часто отвечающие ввиду своих личных причин часто не отвечают прямо на вопрос по теме, а отсылают читать теорию. Хотя я вот, например, довольно часто задаю вопросы в подобных форумах не от тупости и незнания теории, а банальной нехватки времени на ее чтение и необходимости срочно решить проблему, когда та упирается в сроки.
Запрос - я понял про LIKE. Но я бы хотел сделать на форуме ссылку, по которой пользователь перейдя на отдельную страницу получит весь список городов, которые уже есть в БД. Т.е. на каждого пользователя помимо поля user_from я завожу еще несколько полей (т.е. уже завел) - user_from1, user_from2... Вот именно из них я хочу получить список неповторяющихся городов отсортированый, скажем, по возрастанию. Плюс на каждый город будет стоять ссылка, вот тут уже, наверное и пригодятся LIKE для формирования запросов для этих ссылок.
Но пока у меня проблема с выводом именно отсортированного списка из нескольких полей.
velo
phpBB 2.0.1
Сообщения: 252
Стаж: 16 лет 7 месяцев

Сообщение velo »

Ну в таком случае я бы сделал так:
Cоздаешь таблицу phpbb_table со списком всех городов (строки name)
На странице, если надо не больще N городов - то N выпадающих списков городов, всё это в форме, где value из каждого списка (равно названию) плюсуется в одно общее поле например "gorods", а значение из этого поля вида "name1 name2 ....name N" оформляешь в виде:

$sql = SELECT * FROM 'phpbb_table' WHERE name LIKE %$gorods%

(написал на скорую руку, что в голове сейчас)

Соответственно таблицу лучше прописать в constant.php
и не забыть сделать POST(GET) запрос для gorods
WORK: phpBB3 3.0.8 + Portal XL 5.0 + MODs + Custom,
PHP Version 5.3.3-7+squeeze25, Apache/2.2.9 (Debian), MySQL(i) 5.1.73-1+deb6u1-log
sibirjak
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 2 месяца

Сообщение sibirjak »

velo писал(а):Ну в таком случае я бы сделал так:
Cоздаешь таблицу phpbb_table со списком всех городов (строки name)...
ага, думаю понял твою мысль. У тебя на сайте, если я правильно понимаю, есть некий жестко зашитый списко городов, так? У меня такого быть не может, т.к. очень много мелких населенных пунктов, и я не хотел бы привязывать пользователя к жестко забитому списку.

Идею по поводу записи нескольких городов (через пробел) в одно другое поле я тоже уловил. Но здесь мне непонятно вот что - как из такого поля можно вытащить список уникальных городов? Т.е. получить колонку-список неповторяющихся городов (отсортированный).

Добавлено спустя 2 минуты 34 секунды:

еще раз поясню - мне нужна страница на форуме с динамично формирующимся списком населенных пунктов, названия которых пользователи вводят вручную в несколько полей формы регистрации.
velo
phpBB 2.0.1
Сообщения: 252
Стаж: 16 лет 7 месяцев

Сообщение velo »

sibirjak писал(а):У тебя на сайте, если я правильно понимаю, есть некий жестко зашитый списко городов, так?
Нет, у меня поле "город" доступно для ввода пользователем, но в тоже время для упрощения предлагается выбор из списка, и если выбрано из списка, то значение вносится в это поле (функцией onselect). Так что поиск производится по тому, что пользователь сам указал.

А сформировать список можно создав таблицу, в которую добавляются поля при внесении их пользователем, или не добавляются, если такое уже есть.

т.е. в файле, где апдейдится(вносится) инфа о пользователе добавить ещё один SQL - UPDATE 'table_town'

А из этой таблицы и формировать список городов :)
WORK: phpBB3 3.0.8 + Portal XL 5.0 + MODs + Custom,
PHP Version 5.3.3-7+squeeze25, Apache/2.2.9 (Debian), MySQL(i) 5.1.73-1+deb6u1-log
sibirjak
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 2 месяца

Сообщение sibirjak »

ага, теперь уловил :)

я просто хотел меньшей кровью - не создавать никакие новые таблицы, а добавить только новые поля в уже существующую таблицу. Т.е. обойтись меньшими правками в phpbb-шном коде. Как добавлять дополнительные поля в профиль я знаю (где-то брал хак такой), а вот тут придется видимо помозговать (либо дождаться января :D )

Добавлено спустя 50 секунд:

опять же, надо будет посмотреть еще на забугорных форумах. Думается, не я один такой озадаченый подобной проблемой...

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