用户输入文本和输入的文本在过去的一个标签云,标签云是一个用户生成的标签的可视化描述,或只是一个网站的文字内容,通常用来描述网站的内容。
为此,我们将创建一个html表格,将接受用户文本,也让用户可以看到从 mysql数据库,其中包含在过去输入的文本生成的标签云,代码如下:
or
see the current tag cloud here
其中每个计算其频率和对将进入一个数组,输入的文本将被表征为单个词。然后将这个数组存储到一个mysql数据库,我们可以选择保存在mysql数据库表coloumn存储任何链接,如果这个项目未来的扩展。
1) tag_id -- int,primary key,auto increament 1)tag_id - 整型,主键,自动increament
2) keyword - varchar(20),unique 2)关键字 - 数据类型为varchar(20),独特的
3) weight - int 3)重量 - 诠释
4) link - varchar(256). 4)链接 - 为varchar(256)。
代码如下:
0) $tok = strtolower($tok);$words = array();$words[$tok] = 1;while ($tok !== false) { echo word=$tok
; $tok = strtok( t,;.'\!&-`nr); if (strlen($tok) > 0) { $tok = strtolower($tok); if ($words[$tok] >= 1) { $words[$tok] = $words[$tok] + 1; } else { $words[$tok] = 1; } }}print_r($words);echo '
';/** * now enter the above array of word and corresponding count values into the database table * in case the keyword already exist in the table then update the database table using the function 'update_database_entry(...)' */$table = tagcloud_db;mysql_select_db($table, $connection);foreach ($words as $keyword => $weight) { $query = insert into `tagcloud_db`.`tags` (keyword,weight,link) values (' . $keyword . ', . $weight . ,'na'); if (!mysql_query($query, $connection)) { if (mysql_errno($connection) == 1062) { update_database_entry($connection, $table, $keyword, $weight); } }}mysql_close($connection);?>
做出anether文件和将其命名为style.css文件,把下面的代码:
html, body { padding: 0; border: 0px none; font-family: verdana; font-weight: none; } .tags_div { padding: 3px; border: 1px solid #a8a8c3; background-color: white; width: 500px; -moz-border-radius: 5px; } h1 { font-size: 16px; font-weight: none; } a:link { color: #676f9d; text-decoration: none; } a:hover { text-decoration: none; background-color: #4f5aa1; color: white; }
这将使我们的标签云外观漂亮,它保存为style.css的,再次,使一个新的php文件,并命名它show_tag_cloud.php。
在php代码中,如下我们连接到mysql数据库,获取所有的标签,其重量和纽带,然后计算每个使用它的重量及最小的标签大小假定为标签的大小,它也是每一个标签从数据库中检索或与google链接,如果没有链接存在,即不适用的链接,代码如下:
tag cloud generator tag cloud using php and mysql $weight) { $x = round(($weight * 100) / $max_count) * $factor; $font_size = $starting_font_size + $x . 'px'; if ($words_link[$tag] == 'na') echo . $tag . . $tag_separator; else echo . $tag . . $tag_separator;}?>
现在把他们所有在您的web服务器的根目录,并观看结果。 每个查询会给你新的结果,随着时间的推移,数据库的增长。
教程链接:
随意转载~但请保留教程地址★