標(biāo)簽云是一套相關(guān)的標(biāo)簽以及與此相應(yīng)的權(quán)重。典型的標(biāo)簽云有30至150個標(biāo)簽。權(quán)重影響使用的字體大小或其他視覺效果。同時,直方圖或餅圖表是最常用的代表約12種不同的權(quán)數(shù)。因此,標(biāo)簽云彩能代表更多的權(quán),盡管不那么準(zhǔn)確。此外,標(biāo)簽云通常是可以交互的:標(biāo)簽是典型的超鏈接,讓用戶可以仔細(xì)了解他們的內(nèi)容。
下面的實現(xiàn)代碼,將標(biāo)簽從數(shù)據(jù)庫中搜出來,并格式化處理,使其以出現(xiàn)的次數(shù)為依據(jù)顯示出不同大小的文字連接
數(shù)據(jù)庫中,存放文章的表中有“Tag”字段,用來存放標(biāo)簽。標(biāo)簽之間用“,”分隔。比如“PHP,VB,隨筆”。
下面的實現(xiàn)代碼,將標(biāo)簽從數(shù)據(jù)庫中搜出來,并格式化處理,使其以出現(xiàn)的次數(shù)為依據(jù)顯示出不同大小的文字連接。
其中的細(xì)節(jié),不做解釋了!
觀念陳、方法笨、效率低的標(biāo)簽云的實現(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?"??".$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?"標(biāo)簽云";? $String?=?GetTag();? $Row?=?CountTag($String);? ShowTag($Row,$ablink);? echo?"? ";? ?>
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END