PcKULT.NET - La référence en informatique
Vous avez surment remarqué, avec l'arrivé du Web 2.0, la venu des "Tag Clouds"! Oui Oui, vous avez surment remarquez une liste de mots différenciés par leur taille de police sur plusieurs blogs. En effet, les "Tag Clouds" est une liste de mot qui représente les sujets/catégories qui sont rataché aux pages du site. Mais pourquoi la différence de taille entre chacune d'elle ? Et bien c'est tout simplement leur niveau de popularité. Plus le mot clé est populaire, plus sa taille sera grande comparé au autres mots clés. Nous allons donc vous montrez comment en faire un par vous même sous PHP.
CODE :
<?php
// N'oubliez pas de vous connectez à votre base de données
// Afin d'adapter le code à votre site internet, il vous suffit de modifier 3 choses :
// col est le nom du champs représentant le Tag Cloud
// ID est la clé primaire
// MA_TABLE est le nom de ma base de données
$query = "SELECT col AS tag, COUNT(id) AS quantity FROM MA_TABLE GROUP BY col ORDER BY col ASC";
$result = mysql_query($query);
// Boucle à travers les résultats afin de les mettres dans un simple tableau:
// $tag['col1'] = 12;
// $tag['col2'] = 25;
// etc. Ceci nous permetteras de calculer la taille de chacun d'entre eux.
while ($row = mysql_fetch_array($result)) {
$tags[$row['tag']] = $row['quantity'];
}
// Taille maximal - Taille minimal
$max_size = 250; // max font size en %
$min_size = 100; // min font size en %
// Obtenir la plus petit valeur et la plus grande du tableau
$max_qty = max(array_values($tags));
$min_qty = min(array_values($tags));
// Déterminer l'étendu des valeurs
$spread = $max_qty - $min_qty;
if (0 == $spread) { // we don't want to divide by zero
$spread = 1;
}
// Détermine l'incrémentation du font-size
$step = ($max_size - $min_size)/($spread);
// Boucle à travers le tableau
foreach ($tags as $key => $value) {
// Calcul du font-size CSS
// trouvez les valeur supérieurs au $min_qty
// multiplier par la valeur de l'incrémentatiion ($size)
// et ajouter la valeur du minimum ($min_size)
$size = $min_size + (($value - $min_qty) * $step);
// Afin de terminer le script, il vous suffit de modifier les caractères
// '####' par le lien de destination voulu.
echo '<a xhref="http://www.pckult.net/####" style="font-size: '.$size.'%"';
echo ' title="'.$value.' cols tagged with '.$key.'"';
echo '>'.$key.'</a> ';
}
?>
Afficher les 50 Tags les plus populaires :
SQL :SELECT thing AS tag, COUNT(id) AS quantity FROM my_table GROUP BY thing ORDER BY thing ASC LIMIT 50
Afficher les Tags les plus populaires du dernier mois :
SQL :SELECT thing AS tag, COUNT(id) AS quantity FROM my_table WHERE added > DATE_SUB(NOW(), INTERVAL 1 MONTH) GROUP BY thing ORDER BY thing ASC
Voici donc le résultat sans les liens bien sur :
Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 6 Thing 7 Thing 8
J'espère que vous trouverez cela utile! Dans mon cas, je trouve utile afin de voir la popularité de certains mots clés. blog post tags, membership per country, songs per artist in your favorite playlist, etc.
Envoyer par mail
Vu: 25316
Commentaires (2)

Ecrivez un commentaire



