php 标签云效果(简单示例,入门参考)

发布时间:2020-06-15编辑:脚本学堂
本文介绍一段php 标签云效果的实现代码,原理很简单,实现的方法略显质朴,呵呵。有兴趣研究php 云标签的朋友作个参考吧。

分享一段php 标签云的实现代码。

代码:

<?php
/** 
* php 标签云
* 
* @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='".$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 " 
"; 
?>