0

我有以下代码。我希望代码从当前 url 获取所有数据,就像

search.php?q=dvd+player&attr=23903940_portable_dvd_player&attr=23903945_cd&attr=23903935_mpeg_4

代码:

<?php if ($pagecount > 1)
    { 
        $paramsP1 = array_merge($_GET, array("page" => $pagecount-1));
        $new_page_1 = http_build_query($paramsP1);
    ?>

<li><a href="search.php?<?php echo $new_page_1; ?>"><b>&laquo; Previous</b></a></li>

    <?php } ?>

由于某种原因,该代码仅获得了一个似乎总是最后一个的 GET 变量,因此在这种情况下,它的 attr=23903935_mpeg_4 并在其上添加了“&page=X”。

我一直在查看这段代码,但似乎无法理解为什么只返回一个变量。

4

2 回答 2

1

您可以简单地使用查询字符串并附加到它,而不是将您的 get 数组与新数组合并,如下所示:

$new_url = 'search.php?' . $_SERVER['QUERY_STRING'] . '&page=' . ($pagecount-1);
于 2014-01-07T14:07:32.933 回答
0

使用parse_str函数。但是由于变量名称相同,您的 url 不正确。

   $url = 'search.php?q=dvd+player&attr=23903940_portable_dvd_player&attr=23903945_cd&attr=23903935_mpeg_4';
    parse_str($url, $output);
    var_dump($output);
于 2014-01-07T14:10:46.937 回答