Унифицировать идентичные параметры URL в строке запроса - PullRequest
0 голосов
/ 03 февраля 2019

Я довольно новичок в php и работаю над сценарием для фильтрации записей в базе данных с помощью метода GET.После отправки формы я получаю URL-результаты, подобные следующему (только строка запроса):

?mode=compilation&user_filter=Gerhard&user_filter=Harry

В целях краткости и для встраивания в существующий скрипт мне нужен URL-адрес в формате в точности вот так (альтернативы нет):

?mode=compilation&user_filter=Gerhard,Harry

"user_filter" - это имя фильтрующей переменной.Есть еще два с именем "category_filter" и "tag_filter", поэтому URL может стать очень длинным.Кроме того, существующий скрипт php фильтрует только последний параметр user_filter, тогда как во втором примере, который содержит только один user_filter и разделяет значения через запятую, результаты фильтруются так, как я хочу, и содержат все сообщения от пользователей "Герхард" и "Гарри".Этот метод работает отлично, а также в сочетании с двумя другими переменными фильтра, точно так же, как и предполагалось, когда я ввожу URL-адрес вручную, но мне нужно его проанализировать / переписать и автоматически отправить при отправке формы.Таким образом, пользователи смогут выбирать дополнительные имена / категории / теги (которые представлены в раскрывающихся списках) и добавлять их один за другим к существующим параметрам в качестве дополнительных значений через запятую.

Полагаю, ядолжен получить строку с помощью $_SERVER['QUERY_STRING'] и манипулировать ею, используя parse_str() или что-то еще.Но как мне получить автоматическое объединение каждого дополнительного идентифицируемого параметра user_filter с одним ранее существующим параметром user_filter в массив значений, разделенных запятыми, и отправку его на страницу?Или есть другое приложение?

Фильтры пользователей, категорий и тегов представлены в трех отдельных формах выбора, каждая со своим выпадающим списком и собственной кнопкой отправки.После отправки страница перезагружается с новым параметром URL и отображает результаты в дополнительном HTML-тальбе под выбранными формами.Предварительно существующие выборки передаются input type="hidden" (скрытые поля ввода), что все работает нормально.Если бы у меня было решение для пользовательского фильтра (в качестве примера), я думаю, что смог бы реализовать его и для двух других переменных фильтра.

С уважениемTaurec

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