• User Attivo

    Aiuto per modificare una funzione tag cloud

    ciao,
    cercando su internet ho trovato una funzione per creare tag cloud che ho adattato al mio db e che fa il suo lavoro senza problemi. Ho provato ad aggiungere alla funzione due elementi che però vengono "sterilizzati", si tratta di $tagurl che definisco ad inizio della pagina e rewtag che dovrei estrarre dalla query ma non so come inserirlo nell'array (in entrambi i casi i valori vengono ignorati)

    questa è la funzione
    [PHP]function get_tag_data() {
    $result = mysql_query("SELECT tag, count, rewtag FROM tags GROUP BY tag ORDER BY count DESC");
    while($row = mysql_fetch_array($result)) {
    $arr[$row['tag']] = $row['count']; //creiamo il nostro array
    }
    ksort($arr); //ordina l'array per tag in ordine alfabetico
    return $arr;
    }
    //Recuperati i dati dal db e ordinati in ordine alfabetico costruiamo la funzione che genera il tag cloud:
    function get_tag_cloud() {
    //definiamo le dimensioni minime e massime del font
    $min_font_size = 10;
    $max_font_size = 24;
    //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" href="".$tagurl."/".$rewtag."/" title="".$tag."">".$tag."</a>,";
      }
      $cloud_html = join("\n", $cloud_tags) . "\n";
      return $cloud_html;
      }[/PHP]

    qualcuno sa dirmi come fare? Grazie