我在页面上显示了一些数据库信息。
我正在使用在网址中使用$_GET['page']
变量的分页类。当您点击其他分页锚标记时,它会将$_GET['page']
更改为网址中的新数字,并显示相应的结果。
我有使用$_GET['searchby']
和$_GET['search_input']
变量的排序和搜索功能。用户在使用GET的表单上输入搜索条件。然后将变量放入url中,以便显示正确的结果。
我遇到的问题是,每当我点击分页链接时,它会将$_GET['page']
变量添加到网址的末尾并删除$_GET['searchby']
或$_GET['search_input']
。当我提交搜索表单时,会添加$_GET['searchby']
和$_GET['search_input']
,但会删除$_GET['page']
。
如何使用锚标记和搜索/排序形式将GET变量添加到当前页面url的末尾,而不删除任何现有的GET变量,但如果它们是相同的GET变量名,则覆盖它们?
答案 0 :(得分: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>
请注意,$_SERVER['REQUEST_URI']
会为您提供包含查询字符串值的当前网址。
答案 1 :(得分:1)
$query_string = http_build_query(array_merge($_GET, array('page' => $page)));