明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

php完成標簽云的代碼

[摘要]標簽云是一套相關的標簽以及與此相應的權重。典型的標簽云有30至150個標簽。權重影響使用的字體大小或其他視覺效果。同時,直方圖或餅圖表是最常用的代表約12種不同的權數(shù)。因此,標簽云彩能代表更多的權,...
標簽云是一套相關的標簽以及與此相應的權重。典型的標簽云有30至150個標簽。權重影響使用的字體大小或其他視覺效果。同時,直方圖或餅圖表是最常用的代表約12種不同的權數(shù)。因此,標簽云彩能代表更多的權,盡管不那么準確。此外,標簽云通常是可以交互的:標簽是典型的超鏈接,讓用戶可以仔細了解他們的內容。

下面的實現(xiàn)代碼,將標簽從數(shù)據(jù)庫中搜出來,并格式化處理,使其以出現(xiàn)的次數(shù)為依據(jù)顯示出不同大小的文字連接

數(shù)據(jù)庫中,存放文章的表中有“Tag”字段,用來存放標簽。標簽之間用“,”分隔。比如“PHP,VB,隨筆”。
下面的實現(xiàn)代碼,將標簽從數(shù)據(jù)庫中搜出來,并格式化處理,使其以出現(xiàn)的次數(shù)為依據(jù)顯示出不同大小的文字連接。
其中的細節(jié),不做解釋了!
觀念陳、方法笨、效率低的標簽云的實現(xiàn)代碼如下:

代碼如下:

//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 " 
"; 
?>

以上就是php實現(xiàn)標簽云的代碼的詳細內容,更多請關注php中文網(wǎng)其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。