Comunidad de diseño web y desarrollo en internet online

Ultimo campo de un array

Citar            
MensajeEscrito el 20 Nov 2010 03:52 am
Hola!

Tengo un problema que no se me ocurre como solucionar. La verdad es que es rarillo, pero en fin. Se trata de crear un breadcum para una serie de noticias dadas, de las cuales tengo las categorias que saco por un while (por tonteria de la base de datos, cojo la categoria de la noticia, miro su subcategoria, y si tiene, con ese mismo while, lo almaceno a un array, y miro la subcategoria de esa subcategoria, y asi sucesivamente, si se os ocurre algo para solucionarlo genial, pero bueno, que asi funciona jeje).

Entonces, los datos de ese while los voy metiendo a un array, que se llama $texto. T despues sale esto:

//Le doy la vuelta para mostrarlo porque el array va de delante hacia atras
$texto = array_reverse($texto);
foreach ($texto as $pa) { echo "<a href='categorias/$pa.html'>$pa</a> > "; }

Meto el > entre negrita porque sino se confunde, esta asi porque aun estoy en pruebas. El resultado es:

G1 > G2 > G3 > G4 > G5 >

Lo cual esta bien, pero quiero eliminar el > del final del G5, porque en el breadcum sobra jejeje.

¿Se os ocurre algo? Desde ya muchisimas gracias

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Nov 2010 04:51 am

Código PHP :

echo implode(">",$texto);

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 20 Nov 2010 06:28 am
Creo que no me has entendido. El implode si, hace lo que quiero, pero lo hace en el arrray. Esos datos los quiero tener enlazados, por eso puse el foreach que me saca los datos del array, y les pone su enlace. De la otra forma, solo puedo imprimirlos, y hace exactamente lo que quiero, pero no puedo darle sus hrefs.

Me explique bien?

Muchas gracias por tu ayuda!

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Nov 2010 08:54 am
Buenos dias,
¿Has probado en mostrar los datos con el bucle for?, que vaya desde 0 hasta mysql_num_rows() de la consulta, y cuando sea i==mysql_num_rows($consulta) que muestre el link sin el '>' al final.

Saludos.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 20 Nov 2010 04:29 pm
Hola neisserian89,

Si, la verdad es que he probado, pero entonces como te comentaba, el array me lo muestra al reves (G5 > G4 > G3...) porque va buscando la subcategoria del registro anterior, y no se me ocurre como darles la vuelta, por eso los meto a array para poder hacerles el array_reverse.

Basicamente lo que quria saber es si habia alguna forma de controlar el ultimo campo del foreach de un array, o algo

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Nov 2010 10:07 pm
Extrae el ultimo elemento del array e itera el foreach con los restantes. El ultimo elemento del array lo imprime justo despues del foreach.

Por ejemplo:

Código PHP :

$texto = array('G1'.'G2'.'G3'.'G4','G5');
$ultimo = array_pop($texto);

foreach ($texto as $pa) 
{ 
   echo "<a href='categorias/$pa.html'>$pa</a> &gt; "; 
}
echo "<a href='categorias/$ultimo.html'>$ultimo</a>";


Por cierto, revisa: array_walk si lo usas bien podras usar el implode y evitarias el codigo anterior ;)

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 22 Nov 2010 12:00 am
Millones de gracias Maikel :)

La revisare pues, los arrays no son lo mio que aun estoy empezando con ellos, ni sabia que existia el array_pop jejeje.

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Nov 2010 08:01 am
Ya somos 2 los que no sabíamos de la existencia de array_pop, cada dia se aprende algo :).

Saludos y gracias.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.