如何使用带有php的表单将GET变量添加到当前页面url的末尾?

zec*_*ude 2 php forms pagination get

我有一些数据库信息显示在页面上.

我正在使用一个使用$_GET['page']url中的变量的分页类.当您单击其他分页锚标记时,它将更改$_GET['page']为网址中的新数字并显示相应的结果.

我有使用$_GET['searchby']$_GET['search_input']变量的排序和搜索功能.用户在使用GET的表单上输入搜索条件.然后将变量放入url中,以便显示正确的结果.

我遇到的问题是,每当我点击分页链接时,它会将$_GET['page']变量添加到URL的末尾并删除$_GET['searchby']$_GET['search_input'].当我提交搜索表单,它增加了$_GET['searchby']$_GET['search_input']而擦除$_GET['page'].

如何使用锚标记和搜索/排序形式将GET变量添加到当前页面url的末尾而不删除任何现有的GET变量,但如果它们是相同的GET变量名,则覆盖它们?

Sar*_*raz 6

试试这个:

if (strpos($_SERVER['REQUEST_URI'], '?') !== false)
{
  $url = $_SERVER['REQUEST_URI'] . '&var=value';
}
else
{
  $url = $_SERVER['REQUEST_URI'] . '?var=value';
}

<a href="<php echo $url;>">Go</a>
Run Code Online (Sandbox Code Playgroud)

请注意,它$_SERVER['REQUEST_URI']为您提供包含查询字符串值的当前URL.

  • @phleet 和 Sarfaz Ahmed:`$url = $_SERVER['REQUEST_URI']。(strpos($_SERVER['REQUEST_URI'],'?') === false) ? '?var=value' : '&amp;var=value';` (2认同)