php - 统一查询字符串中相同的 URL 参数
问题描述
我对 php 相当陌生,并且正在编写一个通过 GET 方法过滤数据库条目的脚本。提交表单后,我得到如下 URL 结果(仅 query_string):
?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 并用逗号分隔值,结果像我希望的那样被过滤并包含用户“Gerhard”和“哈利”。当我手动输入 URL 时,此方法可以完美地工作,并且与其他两个过滤器变量完全一样,但我需要在提交表单时对其进行解析/重写并自动发送。
我想我必须$_SERVER['QUERY_STRING']
通过利用parse_str()
或其他方式接收字符串并对其进行操作。但是,如何自动将每个附加的同名 user_filter-parameter 与一个预先存在的 user_filter-parameter 统一为逗号分隔的值数组并将其发送到页面?
还是有其他方法?
用户、类别和标签过滤器在三个单独的选择表单中提供,每个表单都有自己的下拉列表和自己的提交按钮。提交后,页面将使用新的 URL 参数重新加载,并在选择表单下方的额外 html 表格中显示结果。预先存在的选择通过input type="hidden"
(隐藏的输入字段)传递,这一切都很好。如果我有用户过滤器的解决方案(例如),我想我也可以为其他两个过滤器变量实现它。
问候
金牛座
解决方案
推荐阅读
- excel - Excel VBA - 复制粘贴选项卡导致错误
- git - Git 推送失败。错误:RPC 失败;curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
- javascript - Onclick 功能不适用于自定义弹出窗口
- javascript - 带有预渲染 SPA 的 Vue.js 创建双脚本标签
- spring-boot - 如何在 Spring-boot 中编写一个通用的 java 函数来查询结果,基于多个查询过滤器
- amazon-web-services - 使用 Sqoop 将表从 MySQL 移动到使用远程安装的 Airflow 安排的 Hive
- android - 我可以通过输入一些参数来修改 android 项目模板吗?
- github - 按源分支限制 github 合并类型
- python - botocore.exceptions.ClientError:调用PutObject操作时发生错误(AccessDenied):访问被拒绝
- python - 为什么 print('NaN') 显示与 print(float('NaN')) 不同的结果