Ragazzi ho preso il seguente codice dalla rete e volevo adattarlo alle mie esigenze per creare un tag cloud in una pagina.....
<?php
//funzione di connessione ad database:
function DBConnect(){
mysql_connect('localhost', 'root', 'xxxxx');
//inserire i valori del vostro DB
mysql_select_db('gallery');
}
function DBClose(){
mysql_close();
}
function get_tag_data() {
DBConnect();
$result = mysql_query("SELECT * FROM tags GROUP BY tag ORDER BY count DESC");
while($row = mysql_fetch_array($result)) {
$arr[$row['tag']] = $row['count']; //creiamo il nostro array
$hrefx=$row['href'];
}
DBclose();
ksort($arr); //ordina l'array per tag in ordine alfabetico
return $arr;
}
function get_tag_cloud() {
//definiamo le dimensioni minime e massime del font
$min_font_size = 12;
$max_font_size = 30;
//Recuperiamo l'array ordinato
$tags = get_tag_data();
//calcoliamo la minima e la massima occorrenza dei tag
$minimum_count = min(array_values($tags));
$maximum_count = max(array_values($tags));
//ne calcolo la differenza
$spread = $maximum_count - $minimum_count;
if($spread == 0) {
$spread = 1; //controllo inserito per evitare errori del tipo divisione per zero
}
$cloud_html = '';
$cloud_tags = array();
//entriamo nel cuore della rappresentazione del tag cloud
foreach ($tags as $tag => $count) {
$size = $min_font_size + ($count - $minimum_count)
* ($max_font_size - $min_font_size) / $spread;
//in questo modo si calcola la dimensione del font in modo porporzionale all'occorrenza del tag
$cloud_tags[] = '<a style="font-size: '. floor($size) . 'px'
. '" class="tag_cloud" href="http://www.tagtagweb.com/index.php?tag&option=search&searchword=' . $tag
. '" title="\'' . $tag . '\' returned a count of ' . $count . '">'
. htmlspecialchars(stripslashes($tag)) . '</a>';
}
$cloud_html = join("\n", $cloud_tags) . "\n";
return $cloud_html;
}
?>
<style type="text/css">
#cloud{width:200px}
.tag_cloud { padding: 3px; text-decoration: none; }
.tag_cloud:link { color: #81d601; }
.tag_cloud:visited { color: #019c05; }
.tag_cloud:hover { color: #ffffff; background: #69da03; }
.tag_cloud:active { color: #ffffff; background: #ACFC65; }
</style>
<h3>Esempio di Tag Cloud</h3>
<div id="cloud">
<?php print get_tag_cloud(); ?>
</div>
<?php
//funzione di connessione ad database:
function DBConnect(){
mysql_connect('localhost', 'root', 'xxxxx');
//inserire i valori del vostro DB
mysql_select_db('gallery');
}
function DBClose(){
mysql_close();
}
function get_tag_data() {
DBConnect();
$result = mysql_query("SELECT * FROM tags GROUP BY tag ORDER BY count DESC");
while($row = mysql_fetch_array($result)) {
$arr[$row['tag']] = $row['count']; //creiamo il nostro array
$hrefx=$row['href'];
}
DBclose();
ksort($arr); //ordina l'array per tag in ordine alfabetico
return $arr;
}
function get_tag_cloud() {
//definiamo le dimensioni minime e massime del font
$min_font_size = 12;
$max_font_size = 30;
//Recuperiamo l'array ordinato
$tags = get_tag_data();
//calcoliamo la minima e la massima occorrenza dei tag
$minimum_count = min(array_values($tags));
$maximum_count = max(array_values($tags));
//ne calcolo la differenza
$spread = $maximum_count - $minimum_count;
if($spread == 0) {
$spread = 1; //controllo inserito per evitare errori del tipo divisione per zero
}
$cloud_html = '';
$cloud_tags = array();
//entriamo nel cuore della rappresentazione del tag cloud
foreach ($tags as $tag => $count) {
$size = $min_font_size + ($count - $minimum_count)
* ($max_font_size - $min_font_size) / $spread;
//in questo modo si calcola la dimensione del font in modo porporzionale all'occorrenza del tag
$cloud_tags[] = '<a style="font-size: '. floor($size) . 'px'
. '" class="tag_cloud" href="http://www.tagtagweb.com/index.php?tag&option=search&searchword=' . $tag
. '" title="\'' . $tag . '\' returned a count of ' . $count . '">'
. htmlspecialchars(stripslashes($tag)) . '</a>';
}
$cloud_html = join("\n", $cloud_tags) . "\n";
return $cloud_html;
}
?>
<style type="text/css">
#cloud{width:200px}
.tag_cloud { padding: 3px; text-decoration: none; }
.tag_cloud:link { color: #81d601; }
.tag_cloud:visited { color: #019c05; }
.tag_cloud:hover { color: #ffffff; background: #69da03; }
.tag_cloud:active { color: #ffffff; background: #ACFC65; }
</style>
<h3>Esempio di Tag Cloud</h3>
<div id="cloud">
<?php print get_tag_cloud(); ?>
</div>
Come potete vedere ne while ho aggiunto :
$hrefx=$row['href']; per ricavarmi dinamicamente il link per ogni singola parola.....
ora al posto dell'indirizzo :
href="http://www.tagtagweb.com/index.php?tag&option=search&searchword=' . $tag . '"
vorrei metterci la mia variabile pescata dal database. Ma come posso fare visto che l'indirizzo si trova in un foreach???
Aiutatemi vi prego grazie