PHP URL paramètres GET, s'ils existent, les remplacer?

Essaie de faire une recherche avancée, avec le tri des différentes options ASC ou DESC.

Exemple d'URL:

search.php?accom_type=x&no_rooms=x&rooms_total=x&prop_area=x&rent_less=&rent_more=&available=&go=Search&sd=a

Souligné en gras est &sd (sens de tri). La précédente variables sont transmises par l'intermédiaire d'un formulaire qui est rempli.

Maintenant, j'ai des liens de ce type..

<a href="<?=$_SERVER['REQUEST_URI']?>&sd=a">ASC</a>|<a href="<?=$_SERVER['REQUEST_URI']?>&sd=d">DESC</a>

Ce qui est évidemment faux, parce que je suis en utilisant REQUEST_URI - parce que si une personne change après c'est d'abord définir l'URL sera:

&sd=a&sd=d

Je suis sûr que j'ai rencontré ce problème avant, mais ne peut pas tout à fait penser à comment je l'ai résolu.

Comment puis-je vérifier si un GET est déjà défini (sd) et, dans l'affirmative, de le modifier, sinon, ajouter à la fin de l'URL, pour produire les liens indiqués ci-dessus.

Edit: Peut-être une capture d'écran qui pourraient aider à comprendre:
http://dl.dropbox.com/u/10591127/Capture.PNG

Cheers,
Matt

isset($_GET['sd']) ?
Une instruction si il fonctionne parfaitement. Utilisation isset() pour vérifier si une variable est définie.
Ne résoudrait pas le problème de remplacer la _GET

OriginalL'auteur Matt | 2011-02-05