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(DBHOST, DBUSER, DBPASSWORD) 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 a mi me gustaria tener algo de este estilo...
1960 1970 1980
Es posible hacer-lo?
Alguien me puede hechar una mano?
Gracias gurus!!!