将参数传递给分页URL

时间:2013-01-03 19:13:59

标签: php url pdo

我可以将15个参数传递给url分页:

例如我有:

$input = $_GET['input'];
$categories = $_GET['category'];
$state = $_GET['state'];
$zipcode = $_GET['zipcode'];

我可以这样做并且工作正常:

 $paginate.= "<a href='$targetpage?page=$prev&input=".$_GET['input']."& 
 category=".$_GET['category']."&state=".$_GET['state']."& 
 zipcode=".$GET['zipcode']."'>Previous</a>";

但是我要传递更多参数。有人能告诉我如何使用数组或其他更好的方法吗?

谢谢

3 个答案:

答案 0 :(得分:5)

哟可以使用此功能:
http_build_query

php.net示例:

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

?>

输出:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

答案 1 :(得分:2)

PHP中提供了一个将数组转换为URL查询的函数,它被称为:

用法很简单:

$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

以上示例将输出:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

我建议the manual page just linked了解更多信息。

如果您正在寻找面向对象的东西,Net_URL2 Pear Package很有用。

它还允许有条件地更改某些参数,这对于分页通常非常有用,请参阅my answer to "keeping url parameters during pagination"两个示例,一个基于Array / PHP标准扩展,另一个用于Net_URL2

答案 2 :(得分:0)

假设所有$_GET键与URL中的参数名称相同,您可以这样做:

$url = $targetpage . '?page=' . $prev . '&';

foreach ($_GET as $k => $v) {
    $url .= $k . '=' . $v . '&';
}
 $paginate.= "<a href='$url'>Previous</a>";

..或者您可以使用PHP的inbuilt function http_build_query()

相关问题