5

私は約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>";

しかし、もっと多くのパラメーターを渡す必要があります。誰かが配列またはそれ以上のものを使用してそれがどのように行われたかを教えてもらえますか?

ありがとうございました

4

3 に答える 3

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
于 2013-01-03T19:17:44.660 に答える
3

配列を URL クエリに変換する関数が 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

詳細については、リンクされたばかりのマニュアルページをお勧めします。

オブジェクト指向のものを探しているなら、Net_URL2Pear パッケージが役に立ちます。

また、いくつかのパラメーターを条件付きで変更することもできます。これは通常、ページネーションに非常に役立ちます。2 つの例については、 「ページネーション中に URL パラメーターを保持する」に対する私の回答を参照してください。1 つは Array/PHP 標準拡張ベース、もう 1 つはNet_URL2.

于 2013-01-03T19:17:25.973 に答える
0

すべてのキーが URL のパラメーター名と同じであると仮定すると$_GET、次のようにすることができます。

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

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

..または、PHPの組み込み関数を使用することもできますhttp_build_query()

于 2013-01-03T19:18:45.337 に答える