php完成標簽云的代碼
發(fā)表時間:2023-08-01 來源:明輝站整理相關軟件相關文章人氣:
[摘要]標簽云是一套相關的標簽以及與此相應的權重。典型的標簽云有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知識。