2014-06-27 2 views
0

J'ai une chaîne de requête dans l'URL:GET - obtenir la valeur et ajouter à un lien?

?search=whatever 

je dois ajouter ceci pour des liens paginés:

example.com/articles/p3/?search=whatever 

je peux obtenir la valeur en utilisant:

$_GET['search'] //whatever 

Mais ce qui est la meilleure façon de construire la chaîne de façon à pouvoir l'ajouter à mon URL. Y at-il une bonne façon ou serait-il juste une affaire de annexant une chaîne:

'?search='.$_GET['search'] 
+0

Il serait tout simplement un cas de annexant une chaîne à votre URL. (Bonjour encore à propos.) –

+0

Vous pouvez utiliser $ _SERVER ['QUERY_STRING'] 'à la place de chaque argument seul. – scragar

+0

Eh bien, si cela ne vous dérange pas d'utiliser l'URL propre pour votre recherche aussi (ce qui est peu d'intérêt dans la plupart des cas), votre dernière solution fera l'affaire. Vous pouvez le faire en bouclant vos variables GET ou en utilisant la variable querystring comme suggéré par scragar, sinon si vous souhaitez ajouter plus de paramètres (comme order par exemple), vous devrez ajouter plus de code pendant une boucle le rendrait plus générique. –

Répondre

0

Pour construire vous URL devriez toujours utiliser propper urlBuilder. Pour PHP, vous pouvez utiliser parse-url et http-build-query.

0

Si elle est seule variable que vous allez utiliser sur cette page, il est autorisé à utiliser

'?search='.$_GET['search'] 

Mais vous devez également vous assurer que vous prenez soin de codage var avec urlencode() quelque part dans votre code (où la var est initialement mise en place).

Si vous voulez construire une URL avec plusieurs arguments, il y a une petite fonction appelée http_build_query() qui peut vous aider.

0

Ouais juste faire

$search = $_GET['search']; 
$pagecount = 10; //Count of results from DB or similar pagination data. ie skip take etc.. 


for(i=0;i<$pagecount;i++){ 
    echo "<a href='getmoreresults.php?search=".$search."&page=".$i."'>$i</a>"; 
} 
Questions connexes