Foros del Web » Programando para Internet » PHP »

Enlaces por cada elemento de un array

Estas en el tema de Enlaces por cada elemento de un array en el foro de PHP en Foros del Web. Hola a todos, llevo unos días intentando conseguir que los nombres que tengo en un registro de la bd (separados por comas) sean un enlace ...
  #1 (permalink)  
Antiguo 11/09/2010, 07:58
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Sonrisa Enlaces por cada elemento de un array

Hola a todos, llevo unos días intentando conseguir que los nombres que tengo en un registro de la bd (separados por comas) sean un enlace a otra página cuyo resultado sea el de buscar con el termino del enlace. Para ello utilizo lo siguiente

Código:
// SEPARO CON EXPLODE
$nombres_separados = explode(',', $nombres);
//LIMPIO LOS ESPACIOS DE CADA ELEMENTO ENTRE LA COMA Y EL COMIENZO DEL 
//SIGUIENTE NOMBRE
$limpiar_espacios = array_map('trim', $nombres_separados);  

//CUENTO LOS ELEMENTOS QUE TIENE EL ARRAY
$contar = count($limpiar_espacios);
	$i=0;

//CREO UN BUCLE PARA MOSTRAR LOS ELEMENTOS DEL ARRAY
	while ($i<$contar) { 
?>

	<a href=resultados.php?nombre= <?php echo urlencode("$limpiar_espacios[$i]");?>><?php echo $limpiar_espacios[$i]; ?></a>

<?php
	
	$i++;
// AÑADO UNA COMA PARA SEPARAR LOS NOMBRES MOSTRADOS
       echo ", ";
	
			}
?>
Con dicho código tengo dos problemas, el primero es que no consigo que urlencode funcione y el segundo es que al final de todos los nombres hay una coma y debería ser un punto o nada.

¿Alguna sugerencia?

Gracias
  #2 (permalink)  
Antiguo 11/09/2010, 08:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enlaces por cada elemento de un array

Trata en un solo ciclo
Código PHP:
Ver original
  1. <?php
  2. $nombres = 'foo,bar , baz, candy ,vegetable';
  3. foreach(explode(',', $nombres) as $value){
  4.     $value = trim($value);
  5.     echo '<a href=resultados.php?nombre=' . urlencode($value) . '>' . $value . '</a><br />';
  6. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/09/2010, 10:49
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Enlaces por cada elemento de un array

Muchas gracias por responder abimaelrc, la verdad es que el código que has puesto funciona de maravilla, urlencode ya funciona correctamente, lo único es que con dicho código se mostraría asi:

foo
bar
baz
candy
vegetable

y me gustaria que en vez de un <br> fuese una coma, de tal forma que se viese asi

foo, bar, candy, vegetable

y que la coma no aparezca en el ultimo lugar

¿Existe alguna manera?

Un saludo
  #4 (permalink)  
Antiguo 11/09/2010, 10:57
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: Enlaces por cada elemento de un array

aqui tienes una forma de hacerlo
Código PHP:
Ver original
  1. $nombres = 'foo,bar , baz, candy ,vegetable';
  2. $cadena='';
  3. foreach(explode(',', $nombres) as $value){
  4.     $value = trim($value);
  5.     $cadena.='<a href=resultados.php?nombre=' . urlencode($value) . '>' . $value . '</a>,';
  6. }
  7. echo substr($cadena,-1);
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 11/09/2010, 10:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enlaces por cada elemento de un array

Bueno ya tienes el código, solo tienes que analizar el código y haz los cambios.

Edito:
Creo que la mejor forma es ingresar los resultado en un array y luego con implode se unen.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 11/09/2010, 11:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Enlaces por cada elemento de un array

Gracias de nuevo, la verdad es que con el código tal como está ya me sirve para lo que quiero, aún así lo intentaré con implode.

Un abrazo

Etiquetas: enlaces
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 17:43.