tengo este sistema de tag-cloud
Tabla:
Código PHP:
CREATE TABLE `tags` (
`id_tag` int(11) NOT NULL auto_increment,
`tag` varchar(100) collate utf8_unicode_ci NOT NULL default '',
`relevancia` int(11) NOT NULL default '0',
PRIMARY KEY (`id_tag`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=57 ;
Código PHP:
function get_tag_data() {
$result = mysql_query("SELECT * FROM tags GROUP BY tag ORDER BY relevancia DESC");
while($row = mysql_fetch_array($result)) {
$arr[$row['tag']] = $row['relevancia'];
}
ksort($arr);
return $arr;
}
function get_tag_cloud() {
$min_font_size = 10;
$max_font_size = 20;
$tags = get_tag_data();
$minimum_count = min(array_values($tags));
$maximum_count = max(array_values($tags));
$spread = $maximum_count - $minimum_count;
if($spread == 0) {
$spread = 1;
}
$cloud_html = '';
$cloud_tags = array();
foreach ($tags as $tag => $relevancia) {
$size = $min_font_size + ($relevancia - $minimum_count)
* ($max_font_size - $min_font_size) / $spread;
$cloud_tags[] = '<a style="font-size: '. floor($size) . 'px'
. '" class="tag_cloud" href="http://www.chemuska.com/search.php?swords=' . $tag
. '" title="\'' . $tag . '\' haz click para ver resultados">'
. htmlspecialchars(stripslashes($tag)) . '</a>';
}
$cloud_html = join("\n", $cloud_tags) . "\n";
return $cloud_html;
}
Código PHP:
print get_tag_cloud();
Hasta aqui fenomenal y me funciona muy bien, creo las tags en la db a traves de un formulario y les asigno una relevancia a cada tag de forma que aparezca con una fuente mas grande o mas pequeña
Ahora viene mi consulta y os agradeceria que ayudarais ya que no consigo hacer lo que os expongo...
En mi sitio tengo diferentes categorias y lo que quiero es asignar a cada tag el id de la categoria donde tiene que imprimirse, por supuesto conservando la relevancia de cada tag y demas funciones actuales
Os pongo la tabla de las categorias:
Código PHP:
CREATE TABLE `categories` (
`id` int(11) NOT NULL auto_increment,
`parent` int(11) default NULL,
`title` text collate utf8_unicode_ci,
`path` text collate utf8_unicode_ci,
`description` text collate utf8_unicode_ci,
`keywords` text collate utf8_unicode_ci,
`date` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=238 ;
Saludos