Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2008, 11:43
nandelbosc
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años, 9 meses
Puntos: 0
como hacer nube (tag cloud) con decadas en campo tipo date

Buenas de nuevo!

Ahora me toca practicar con los tag cloud...

Mi intención es hacer una nuve de etiquetas con las decadas de las fechas de los datos de mi BDD.

Me explico mejor, en una tabla tengo una serie de datos, entre ellos se encuentra un campo tipo date, el cual quiero usar para hacer una nube... pero por decadas!

Con este código ya he conseguido hacer-lo por años...

Código PHP:
<?php
define
("DBHOST""MIHOST");
define("DBNAME""MIBDD");
define("DBUSER""MIUSUARIO");
define("DBPASSWORD""MIPASSWORD");
mysql_connect(DBHOSTDBUSERDBPASSWORD) or die(mysql_error());
mysql_select_db(DBNAME) or die(mysql_error());
echo 
"<br />";
?>
<div style="width:400px;">
<font face="verdana">
<?php

$fontmax
=20;    //mida maxima
$fontmin=8;     //mida minima
$tagmax=10;     //maximes etiquetes a mostrar
if ( $tagmax <= 0)
        
$tagmax 10;

$query ="SELECT year(data) as tag,count(year(data)) as quantity FROM propia GROUP BY year(data) LIMIT 0,$tagmax";
$result mysql_query($query);

//Array
while ($row mysql_fetch_array($result)) {
        
$tags[$row['tag']] = $row['quantity'];
}

//Quantitat d'elements i sumatori de tots
$max_qty max(array_values($tags));
$universo array_sum(array_values($tags));

//Formula de WordPress
$elemento_menor min(array_values($tags));
$hoja max(array_values($tags)) - $elemento_menor;

if ( 
$hoja <= 0)
        
$hoja 1;
        
$letra_hoja $fontmax $fontmin;

if ( 
$letra_hoja <= 0)
        
$letra_hoja 1;
        
$font_step $letra_hoja $hoja;

//Recorrem l'Array
foreach ($tags as $key => $value) {

//Reinicialitzem variable
$porcentaje=0;

//Calcular el Porcentatge Real
$porcentaje=($value/$universo)*100;

//Calcul
$tamanio=( $fontmin + ( ( $value $elemento_menor ) * $font_step ) );

//Imprimir Tag
echo '<a href="fitxa.php?seleccio='.$key.'" style="font-size: '.$tamanio.'pt"';
echo 
' title="'.$value.' resultats trobats relacionats amb '.$key.'"';
echo 
'>'.$key.'</a> ';
}

mysql_close();

?>
</font>
</div>
Y el resultado que obtengo es este:



Y a mi me gustaria tener algo de este estilo...

1960 1970
1980

Es posible hacer-lo?

Alguien me puede hechar una mano?

Gracias gurus!!!