数组获取所有数据并在结尾添加页码

时间:2014-01-07 14:03:11

标签: php arrays get httpbuilder

我有以下代码。我希望代码从当前网址获取所有数据,如

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并在其上添加“&amp; page = X”。

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

2 个答案:

答案 0 :(得分:1)

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

$new_url = 'search.php?' . $_SERVER['QUERY_STRING'] . '&page=' . ($pagecount-1);

答案 1 :(得分:0)

使用parse_str功能。但是由于相同的变量名称,您的网址不正确。

   $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);