我有以下代码。我希望代码从当前网址获取所有数据,如
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>« Previous</b></a></li>
<?php } ?>
由于某种原因,代码只获得了一个似乎总是最后一个的GET变量,所以在这种情况下它的attr = 23903935_mpeg_4并在其上添加“&amp; page = X”。
我一直在看这段代码,但似乎无法理解为什么只返回一个变量。
答案 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);