2013-01-03 21 views
5

ich, was einer Art und Weise bin über 15 Parameter an eine URL Paginierung weitergeben müssen:Pass Parameter Paginierung url

zum Beispiel habe ich:

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

ich es auf diese Weise tun könnte und funktioniert einwandfrei:

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

Aber ich habe viel mehr Parameter zu bestehen. Könnte mir jemand zeigen, wie es mit einem Array oder etwas besser geht?

Die Benutzung ist ziemlich geradlinig:

Danke

+1

Was haben Sie scheint die einfachste und standardisierte Möglichkeit zu sein, wenn sie mit einer GET-Anfrage zu tun. Warum verschleiern? – David

Antwort

5

Yo dieser Funktion können:
http_build_query

php.net Beispiel:

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

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

?> 

Output:

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

Eine Funktion, die ein Array in eine URL-Abfrage schaltet sich in PHP verfügbar ist, wird es genannt

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

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

Das obige Beispiel AUSGABE:

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

Ich empfehle the manual page just linked für weitere Informationen.

Wenn Sie sich für etwas objektorientiert, suchen die Net_URL2 Pear Package ist nützlich.

Es erlaubt auch einige Parameter bedingt zu ändern, was normalerweise sehr nützlich für die Paginierung ist, siehe my answer to "keeping url parameters during pagination" für zwei Beispiele, eine Array/PHP Standarderweiterung und eine weitere für Net_URL2.