PHP
发布时间:2019-11-15 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php标签云的实现代码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
数据库中,存放文章的表中有“Tag”字段,用来存放标签。标签之间用“,”分隔。比如“php,VB,随笔”。
下面的实现代码,将标签从数据库中搜出来,并格式化处理,使其以出现的次数为依据显示出不同大小的文字连接。
其中的细节,不做解释了!
观念陈、方法笨、效率低的标签云的实现代码如下:
<div class="codetitle"><a style="cursOR: pointer" data="29757" class="copybut" id="copybut29757" onclick="doCopy('code29757')"> 代码如下:
<div class="codebody" id="code29757">
/
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)
{ $Tag
String = $
String;
//echo $Tag
String."
";
$Tags = explode(",",$Tag
String
); $n = 1;
$i = 0;
$Con
Tinue = TRUE;
//echo $Tags[1]."
";
//in case no-label's article
while($Tags[$n] OR $Tags[++$n] OR $Tags[++$n] )
{ $EachTag = $Tags[$n++];
//echo $EachTag."
";
$Con
Tinue = TRUE;
for($i
=0;$Con
Tinue;$i++)
{ if( $EachTagStr[$i]
[0] )
{ if( $EachTagStr[$i]
[0] == $EachTag )
{ $EachTagStr[$i][1]++;
$Con
Tinue =
falSE;
}
else
{ if( $EachTagStr[$i+1]
[0] ) $Con
Tinue = TRUE;
else
{ $EachTagStr[$i+1]
[0] = $EachTag;
$EachTagStr[$i+1][1] = 1;
$Con
Tinue =
falSE;
}
}
} else
{ //initialize the array $EachTagStr[][]
$EachTagStr[$i]
[0] = $EachTag;
$EachTagStr[$i][1] = 1;
$Con
Tinue =
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=thi
s.style.color='#900000' onMouseOut=thi
s.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'];
$Tag
String = $Tag
String.",".$Tag;
}
return $Tag
String;
}
function SetSize($Siz
E){ $Size += 10;
if($Size > 30)
$Size = 30;
return $Size;
}
//Go
echo "
";
echo "标签云";
$
String = GetTag(
); $Row = CountTag($
String
); ShowTag($Row,$ablink
); echo "
";
?>