hola ^^
estoy haciendome un tag cloud para probar con las mas de 200 noticias qe tenemos cargadas en nuestro site, y qeria ver si podiamos aca mejorarlo un poco, y asi ya de paso qeda ^^
aca sta el tag cloud:
http://www.cqsoft.com.ar/tagscloud.php
aca el codigo:
Código PHP:
$tags = array();
$tagscount = array();
$result = mysql_query("SELECT tags FROM tabla WHERE tags<>''");
while($row=mysql_fetch_array($result)) {
$a = str_replace(" ",",",$row["tags"]);
$ap = explode(",",$a);
$tags = array_merge($tags,$ap);
}
foreach($tags as $v) {
$v = trim(strtolower($v));
$tagscount[$v]++;
}
$mx=max($tagscount);
$mn=min($tagscount);
$mx_size=100;
$mn_size=6;
$s = $mx-$mn;
if($s==0) $s=1;
//$z = ($mx_size - $mn_size)/($s);
foreach($tagscount as $k=>$v) {
$size = ceil($mn_size+(($v-$mn)*1));
echo "<span style=\"font-size:${size}pt\"><a href=\"http://link/".urlencode($k)."\">$k</a></span> ";
}
la idea es recortarlo,, no se me ocurre como decidir que tags sacar para qe no sea tan arbitrario.. porque si recorto como venga el array, por ahi me saca la palabra 'google',, pero es evidentemente la mas importante XD pero tampoco qiero empezar a sacar los qe menos tienen y listo, pq me podria qedar con solo los qe tienen demasiada relevancia y no qiero, a demas de qe con pocos tags no funcionaria..
a ver si sale alguna solucion un poco mas inteligente ^^ si yo hago algo aviso tambien
exitos!