Foros del Web » Programando para Internet » PHP »

Pasar array a URL

Estas en el tema de Pasar array a URL en el foro de PHP en Foros del Web. Buenas tardes, he estado haciendo pruebas con distintos INPUTS para concatenarlos y realizar un buscador compuesto, el problema está en que además de los INPUTS, ...
  #1 (permalink)  
Antiguo 11/10/2015, 13:48
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Pasar array a URL

Buenas tardes, he estado haciendo pruebas con distintos INPUTS para concatenarlos y realizar un buscador compuesto, el problema está en que además de los INPUTS, he querido añadir un paginador, hasta aquí todo sin problema..el error salta a la hora de tener que pasar una serie de checkbox (recogidos como un array) por la URL.

Actualmente tengo este código:

Código HTML:
Ver original
  1. <input type="checkbox" name="genero[]" value="sports"/>Deportes
  2. <input type="checkbox" name="genero[]" value="platform"/>Plataformas
  3. <input type="checkbox" name="genero[]" value="racing"/>Carreras
  4. <input type="checkbox" name="genero[]" value="role-playing"/>Rol
  5. <input type="checkbox" name="genero[]" value="puzzle"/>Puzzle
  6. <input type="checkbox" name="genero[]" value="misc"/>Misc
  7. <input type="checkbox" name="genero[]" value="shooter"/>Disparos
  8. <input type="checkbox" name="genero[]" value="simulation"/>Simulador
  9. <input type="checkbox" name="genero[]" value="action"/>Acción
  10. <input type="checkbox" name="genero[]" value="fighting"/>Lucha
  11. <input type="checkbox" name="genero[]" value="adventure"/>Aventuras
  12. <input type="checkbox" name="genero[]" value="strategy"/>Estrategia

Código PHP:
Ver original
  1. if(isset($_REQUEST['genero'])){
  2.     $genero=array();
  3.     $url = serialize($genero);
  4.     $pasarurl = urlencode($url);
  5.     $genero=($_REQUEST['genero']);
  6.     $sql.=" AND genre IN ('";
  7.     $sql.= implode("','",$genero);
  8.     $sql.= "')";
  9.     }
  10.  
  11. Las variables $url y $pasarurl las he añadido después de estar mirando preguntas similares a la mía, pero no he conseguido solucionar nada.
  12.  
  13. Aquí genero la URL
  14.  
  15. <a href="filtrojuegos.php?pagina=<? echo $i-1; ?>&nombre=<? echo $nombre;?>&genero=<? echo $pasarurl; ?>&plataforma=<? echo $codigoPlataforma; ?>&desarrolla=<? echo $propietario; ?>&orden=<? echo $orden; ?>&filtrar=<? echo 1; ?>"><? echo $i; ?></a>
  16.  
  17. El resto de campos no me da problemas, sólo ocurre a la hora de intentar pasar el array

Un saludo y espero que se haya entendido mi pregunta, gracias.
  #2 (permalink)  
Antiguo 11/10/2015, 20:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar array a URL

Esto es completamente inútil:
Código PHP:
Ver original
  1. $genero=array();
  2. $url = serialize($genero);
  3. $pasarurl = urlencode($url);
  4. $genero=($_REQUEST['genero']);

Básicamente las primeras tres lineas se van a la basura porque finalmente asignas $genero leyendo del $_REQUEST y nada más.

Fuera de eso también es innecesario eso de $pasarurl y lo demás que haces debajo.

Para eso tienes la función http_build_query(), para que en situaciones como esta puedas hacer composición de todos tus valores a pasar por una URL.

Revisa el manual y verás si te funciona.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/10/2015, 20:55
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Pasar array a URL

Muchas gracias pateketrueke, echaré un ojo y lo trabajaré y ya comentaré por aquí de nuevo.

Un saludo ;)

Etiquetas: sql, url, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:45.