Otro blog más de diseño
Hay veces en las que nos es necesario recuperar la url y actualizar un valor determinado, como por ejemplo en un paginador en el que queremos cambiar el número de página, pero mantener el resto de parámetros. Por norma general (siempre y cuando no sea muy extensa) rehacemos la url en función de los parámetros que sabemos estamos pasando, pero y si no sabemos que parámetros estamos pasando ?
Para ello, esta pequeña pero útil función, nos permitirá cambiar un parámetro y asignarle el valor que queramos, respetando siempre el resto de la estructura de la url.
< ?php
// Definimos la página que recibe
// los parámetros de la url
define('URL','index.php');
function urL($variable, $valor)
{
// Recuperamos la url recibida
// y la reseteamos por si ya fué utilizada
reset($_GET);
// Una vez reseteada la tratamos a nuestro gusto
$url = URL.'?'.$variable.'='.$valor;
// Creamos un bucle con todos los parámetros
// recuperados de la url
while(list($key, $val) = each($_GET))
{
// Metemos todos esos parámetros en una variable
// siempre que no sean iguales a los parametro
// que pasamos por la función ($variable)
if($key != $variable)
{
if (strlen($url) > 1)
{
$url.= '&';
}
$url.= $key.'='.urlencode($val);
}
}
return $url;
}
/*
Modo de uso
Si queremos cambiar el parámetro idioma en la url
index.php?idioma=es&id=150&cat=10&pagina=4
HarÃamos lo siguiente:
urL('idioma','en');
o también
urL('idioma',$_GET['idioma']);
*/
?>
Qué puedo decir de mi que no se haya dicho ya antes.
Deja un comentario.