Pues en ese caso tendrás que evaluar el "Query string" para ver cuantas variables tiene .. y en función componer el tuyo nuevo.
De tu $_SERVER['PHP_SELF'] puedes usar la función parse_url() con eso puedes obtener el "Query string" .. es decir .. tu var=valor&otrovar=valor .. o lo que corresponda.
Si tu "Query string" tiene algo .. ya puedes tomarlo para concatenarlo y añadir el ? . Sería algo tipo:
Código PHP:
$uri=parse_url($_SERVER['PHP_SELF']);
if (!empty($uri['query'])){
$query_string="?var=".$variable;
} else {
$query_string="&var=".$variable;
}
<a href="<? echo $_SERVER['PHP_SELF'].$query_string; ?>">blabla</a>
Este ejemplo no va a tener encuenta variables de mismo nombre duplicadas ya en el URL . .pero la base es la misma por si quieres evaluar tu query string.
Un saludo,