A tag cloud is a set of related tags and their corresponding weights. A typical tag cloud has 30 to 150 tags. Weight affects the font size or other visual effects used. Meanwhile, histograms or pie charts are most commonly used to represent about 12 different weights. Therefore, the tag cloud can represent more rights, although it is less accurate. In addition, tag clouds are often interactive: tags are typically hyperlinks, allowing users to take a closer look at their content.
The following implementation code searches out tags from the database and formats them so that they display text of different sizes based on the number of occurrences.
The database stores the text of the article. There is a "Tag" field in the table, which is used to store tags. Tags are separated by ",". For example, "PHP, VB, essays".
The following implementation code searches the tags from the database and formats them so that they display text links of different sizes based on the number of occurrences.
I won’t explain the details!
The implementation code of the tag cloud with old concepts, stupid methods and low efficiency is as follows:
The code is as follows:
//Connect the database //include('../include/config.php'); /** * CountTag() - Statistics labels appear the number,and the data to be stored in the two array * * GetTag() - Access the Tag's Labels from the database */ function CountTag($String){ $TagString = $String; //echo $TagString." "; $Tags = explode(",",$TagString); $n = 1; $i = 0; $Continue = TRUE; //echo $Tags[1]." "; //in case no-label's article while($Tags[$n] OR $Tags[++$n] OR $Tags[++$n] ){ $EachTag = $Tags[$n++]; //echo $EachTag." "; $Continue = TRUE; for($i=0;$Continue;$i++){ if( $EachTagStr[$i][0] ) { if( $EachTagStr[$i][0] == $EachTag ){ $EachTagStr[$i][1]++; $Continue = FALSE; } else { if( $EachTagStr[$i+1][0] ) $Continue = TRUE; else { $EachTagStr[$i+1][0] = $EachTag; $EachTagStr[$i+1][1] = 1; $Continue = FALSE; } } } else { //initialize the array $EachTagStr[][] $EachTagStr[$i][0] = $EachTag; $EachTagStr[$i][1] = 1; $Continue = FALSE; } } } return $EachTagStr; } function ShowTag($Row,$ablink){ $i = 0; while($Row[$i][0]){ $EachTag = $Row[$i][0]; $EachCount = $Row[$i][1]; $Size = SetSize($EachCount); echo " < a style='color:BLUE ; font-size:".$Size." ' onMouseOver=this.style.color='#900000' onMouseOut=this.style.color='BLUE' href='".$ablink."tag?tag=".$EachTag."' target='_self' > ".$EachTag."(".$EachCount.")"." "; $i++; } } function GetTag(){ $QuerySet = mysql_query("select * from article"); while($Row = mysql_fetch_array($QuerySet)){ $Tag = $Row['tag']; $TagString = $TagString.",".$Tag; } return $TagString; } function SetSize($Size){ $Size += 10; if($Size > 30) $Size = 30; return $Size; } //Go echo " "; echo "标签云"; $String = GetTag(); $Row = CountTag($String); ShowTag($Row,$ablink); echo " "; ?>
The above is the detailed content of PHP code to implement tag cloud. For more information, please follow other related articles on the PHP Chinese website!