ホームページ  >  記事  >  データベース  >  タグクラウドを実装するためのPHPコード

タグクラウドを実装するためのPHPコード

怪我咯
怪我咯オリジナル
2017-07-11 16:31:041265ブラウズ

タグ クラウドは、関連するタグとそれに対応する重みのセットです。一般的なタグ クラウドには 30 ~ 150 個のタグがあります。ウェイトは、使用されるフォント サイズやその他の視覚効果に影響します。一方、ヒストグラムまたは円グラフは、約 12 の異なる重みを表すために最もよく使用されます。したがって、タグ クラウドは、精度は低くなりますが、より多くの重みを表現できます。さらに、タグ クラウドはインタラクティブであることが多く、タグは通常 ハイパーリンク であり、ユーザーはコンテンツを詳しく見ることができます。

次の実装コードは、データベースからタグを検索し、出現数に基づいてさまざまなサイズのテキストリンクが表示されるようにフォーマットします。

データベースには、記事を格納するテーブルに「タグ」フィールドがあります。ラベルを保管するために使用されます。タグは「,」で区切ります。たとえば、「PHP、VB、エッセイ」などです。
以下の実装コードは、データベースからタグを検索し、出現数に基づいてさまざまなサイズのテキスト リンクを表示するようにフォーマットします。
詳しい説明はしません!
古い概念、愚かな手法、低効率のタグクラウドの実装コードは次のとおりです:

コードは次のとおりです:

//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=&#39;color:BLUE ; font-size:".$Size." &#39; onMouseOver=this.style.color=&#39;#900000&#39; onMouseOut=this.style.color=&#39;BLUE&#39; href=&#39;".$ablink."tag?tag=".$EachTag."&#39; target=&#39;_self&#39; > ".$EachTag."(".$EachCount.")"." "; 
$i++; 
} 
} 
function GetTag(){ 
$QuerySet = mysql_query("select * from article"); 
while($Row = mysql_fetch_array($QuerySet)){ 
$Tag = $Row[&#39;tag&#39;]; 
$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コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。