Foros del Web » Programando para Internet » PHP »

Ayuda con nube de tags

Estas en el tema de Ayuda con nube de tags en el foro de PHP en Foros del Web. Hola amigos , de nuevo por aqui , miren , estoy intentando hacer un sistema de tags pero nose como hacerlo espero que me den ...
  #1 (permalink)  
Antiguo 06/03/2009, 18:01
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Exclamación Ayuda con nube de tags

Hola amigos , de nuevo por aqui , miren , estoy intentando hacer un sistema de tags pero nose como hacerlo espero que me den una idea , se que hay una clase por ahi pero no tengo idea como usarla :S , les cuento , yo en mi sistema de noticias almaceno las tags en un campo "text" , nose si sirve...


La idea seria poder mostrarla en forma de nube las mas usadas y bueno un buscador de las mismas , pero de este me encargaria yo.

Espero que me puedan ayudar , un abrazo
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #2 (permalink)  
Antiguo 06/03/2009, 20:48
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con nube de tags

Pones todas las tags en 1 solo campo?
Aparte de todo, porque TEXT? Como que demasiado grande para un campo de tags.
  #3 (permalink)  
Antiguo 06/03/2009, 22:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Ayuda con nube de tags

La solucion que a continuacion esta sujeta a que tus tags esten separados por algun caracter; bien lo primero que tienes que hacer es concatenar todos los registros del campo tag

Luego si usas por ejemplo una coma ( , ) separadora enre tags, tendrias que ser un explode de la concatenacion con la coma (,) como separador, luego ordenar de acuerdo a la cantidad que se repite en la variable de tipo array en donde almacenara el tag junto con el numero de repeticiones que se repite en el array, y luego un poco de css y tienes tu nube de tags

te doy algunas pautas con codigo

Código PHP:
<?php
$alltags
=//sera igual a la concatenacion de todas los registros del campo tag
$tags=explode(",",$alltags); 
array_walk($tags,trim($tags)); //eliminas los espacios
$total=count($tags);
$tagsarray_count_values($tags); // devuelve array("prueba"=>2, "chicos"=>2, "chicas"=>1)
ksort($tags); //se ordena atendiendo al &iacute;ndice que tienen.
reset($tags); //Fija el puntero interno de una matriz a su primer elemento 
while (list($clave$valor) = each($tags)){
    
$porcentaje= @round($valor*100/$total); //$por = @round($valor*100/$total,1);
    
echo "<a href='#' title='".$porcentaje."% con ".$valor." Entradas'>";
    echo 
$clave."</a>&nbsp;<span>(".$valor.")</span> -- ";
}
?>
  #4 (permalink)  
Antiguo 06/03/2009, 23:42
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Ayuda con nube de tags

hola muchachos , miren este tema me tiene loko , no puedo concretarlo , miren les muestro como quedo mi codigo , solamente me muestra 5 tags y me sale un error (Warning: array_walk() [function.array-walk]: Unable to call Array() - function does not exist in /home/gu000220/public_html/yo.php on line 11)

Aca mi code:


Código PHP:
Ver original
  1. <?php
  2.  
  3. include("config.php");
  4.  
  5. $algo = mysql_query("SELECT * FROM posts");
  6.  
  7. $ss = mysql_fetch_array($algo);
  8.  
  9. $alltags=$ss[tags];
  10. $tags=explode(",",$alltags);
  11. array_walk($tags,trim($tags));//eliminas los espacios
  12. $total=count($tags);
  13. $tags= array_count_values($tags); // devuelve array("prueba"=>2, "chicos"=>2, "chicas"=>1)
  14. ksort($tags); //se ordena atendiendo al &iacute;ndice que tienen.
  15. reset($tags); //Fija el puntero interno de una matriz a su primer elemento
  16. while (list($clave, $valor) = each($tags)){
  17.     $porcentaje= @round($valor*100/$total); //$por = @round($valor*100/$total,1);
  18.     echo "<a href='#' title='".$porcentaje."% con ".$valor." Entradas'>";
  19.     echo $clave."</a>&nbsp;<span>(".$valor.")</span> -- ";
  20. }
  21. ?>

No entiendo como es el sistema :S...


Espero que me puedan ayudar . un abrazo
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #5 (permalink)  
Antiguo 07/03/2009, 10:03
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Ayuda con nube de tags

ayudenme por favor
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
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 06:54.