//::::::::::::::::::::::::::::::::::::::::::> Colcule de la taille des mot qui sont dans le tableau ::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function getCloudSize()
{
return array_sum($this->tagsArray);
}
//:::::::::::::::::::::::::::::::::::::::::::::> On classe les mot pour que l'affichage par la suite respecte la notion de redondance des éléments <::::::::::::::::::::::::::::::::::
function getClassFromPercent($percent)
{
if ($percent >= 99)
$class = 1;
else if ($percent >= 70)
$class = 2;
else if ($percent >= 60)
$class = 3;
else if ($percent >= 50)
$class = 4;
else if ($percent >= 40)
$class = 5;
else if ($percent >= 30)
$class = 6;
else if ($percent >= 20)
$class = 7;
else if ($percent >= 10)
$class = 8;
else if ($percent >= 5)
$class = 9;
else
$class = 0;
return $class;
}
//::::::::::::::::::::::::::::::::::::::::::::::::::::::> On génère un code HTML pour chaque mot et on lui applique un taille et une couleur
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<title>Tagcloud</title>
<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />
</head>
<body>
<?php
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::> On génere un tableau contenant les mots qui constituront le nuage <::::::::::::::::::::::::::::::::::::::::::::::::::::
$randomWords = array("moteur", "Delicious", "nuage", "XML", "CMS", "Xoop", "Tortoise", "PHP", "tortoise", "netvibes", "flux", "programming", "aggregateur", "models","Xoops", "tagCloud", "forums", "GoogleCode", "arbre", "css", "joomla", "sql", "css", "mysql", "sql","ontologie", "nuage", "class", "object", "methode", "Xpath", "Xpath", "tags", "fluxRSS", "communautaire", "wiki");
$cloud = new tagCloud($randomWords);
$cloud->addWord("tags", 50); // on rajoute n fois un mot pour que dans la représentation graphique il soit plus grand car il serra plus fréquement utilisé
$cloud->addWord("arbre", 8);
$cloud->addWord("models", 17);
$cloud->addWord("Tortoise", 22);
$cloud->addWord("nuage", 32);
$cloud->addWord("flux", 45);
$cloud->addWord("ontologie", 72);
$cloud->addWord("XML", 67);
ET JE voulais le modifier pour qu 'il peut récupérer les mots stockes dans ma base de donnée voila le code que j ai fait jusqu'a mnt mais y a des erreurs :
<?php
class tagCloud
{
var $version = '1.0';
var $tagsArray = array();
function __construct($tags = false)
{
if ($tags !== false && is_array($tags))
{
foreach ($tags as $key => $value)
{
$this->addWord($value);
}
}
}
function tagCloud($tags = false)
{
$this->__construct($tags);
}
// ::::::::::::::::::::::::::::::::::::::::::::::::::::::: > On assigne les mots au tableau <::::::::::::::::::::::::::::::::::::
function addWord($tag, $value = 1)
{
$tag = strtolower($tag);
if (array_key_exists($tag, $this->tagsArray))
$this->tagsArray[$tag] += $value;
else
$this->tagsArray[$tag] = $value;
return $this->tagsArray[$tag];
}
function shuffleCloud()
{
$keys = array_keys($this->tagsArray);
//::::::::::::::::::::::::::::::::::::::::::> Colcule de la taille des mot qui sont dans le tableau ::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function getCloudSize()
{
return array_sum($this->tagsArray);
}
//:::::::::::::::::::::::::::::::::::::::::::::> On classe les mot pour que l'affichage par la suite respecte la notion de redondance des éléments <::::::::::::::::::::::::::::::::::
function getClassFromPercent($percent)
{
if ($percent >= 99)
$class = 1;
else if ($percent >= 70)
$class = 2;
else if ($percent >= 60)
$class = 3;
else if ($percent >= 50)
$class = 4;
else if ($percent >= 40)
$class = 5;
else if ($percent >= 30)
$class = 6;
else if ($percent >= 20)
$class = 7;
else if ($percent >= 10)
$class = 8;
else if ($percent >= 5)
$class = 9;
else
$class = 0;
return $class;
}
//::::::::::::::::::::::::::::::::::::::::::::::::::::::> On génère un code HTML pour chaque mot et on lui applique un taille et une couleur
//Selection de la base de données
mysql_select_db("bddmi4", $connexion);
//Requête SQL pour lire la relation element <--> document à la recherche
//de la saisie query
$sql = "SELECT mot,source,poids FROM mot WHERE poids>30" ; // de 0 à 9 et de A à Z
//Exécution de la requête SQL
$resultats = mysql_query($sql);
$tabm=array();
$tabp=array();
//Parcourir et afficher les résultats obtenus à partir de la requête (sous forme de liste)
while ( $ligne = mysql_fetch_array($resultats) ) // ligne ou row results ou query while ( $ligne = mysql_fetch_row( $resultats ) )
{
// on a ajoute du php dans html pour lui dir qu'il doit parcourir la bd pour afficher la source puis le mot
}
foreach($tabm as $mot){
$cloud = new tagCloud($mot);
$cloud->addWord($mot, 17); // on rajoute n fois un mot pour que dans la représentation graphique il soit plus grand car il serra plus fréquement utilisé
$cloud->addWord($mot, 17);
}
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::> On génere un tableau contenant les mots qui constituront le nuage <::::::::::::::::::::::::::::::::::::::::::::::::::::
//echo $cloud->showCloud(); //on affiche le rendu du traitement php et css ::::> le nuage !!
//Fermerture de la connexion
mysql_close($connexion);
?>
</body>
</html>
Sachant que j 'au une bd avec la table mot qui contient les colonnes mot+poids(poids du mot)