Home  >  Article  >  Backend Development  >  Implementation code of php tag cloud

Implementation code of php tag cloud

高洛峰
高洛峰Original
2016-12-01 14:53:58997browse

In the database, there is a "Tag" field in the table that stores articles, 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:
Copy the code The code is as follows:
/** 
* WNiaoBlog Tag Template ShowTag 

* @package WNiaoBlog 

* @subpackage Tag 
*/
//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="http://www.php1.cn/">$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 "Tag Cloud";
$String = GetTag();
$Row = CountTag($String);
ShowTag($Row,$ablink);
echo "
";
?>

OK ,DONE!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn