データベースには、記事を格納するテーブルに「タグ」フィールドがあり、タグを格納するために使用されます。タグは「,」で区切ります。たとえば、「PHP、VB、エッセイ」などです。
次の実装コードは、データベースからタグを検索し、出現数に基づいてさまざまなサイズのテキスト リンクを表示するようにフォーマットします。
詳しい説明はしません!
古い概念、愚かな方法、低効率のタグクラウドの実装コードは次のとおりです:
コードをコピーします コードは次のとおりです:
/**
* WNiaoBlog タグ テンプレート ShowTag
*
* @package WNiaoBlog
*
* @subpackage タグ
*/
//データベースを接続します
//include ('../include/config .php');
/**
* CountTag() - 統計ラベルには数値が表示され、データは 2 つの配列に保存されます
*
* GetTag() - データベースからタグのラベルにアクセスします
*/
function CountTag($String){
$TagString = $String;
//echo $TagString."
"; Tags =explode(",", $TagString);
$n = 1;
$Continue = TRUE;
//echo $Tags[1]."
"; -label の記事
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;
$Continue = FALSE;
}
} /配列を初期化 $EachTagStr[] []
$EachTagStr[$i][0] = $EachTag;
$Continue = FALSE;
}
$EachTagStr を返す
}
関数 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." ' =this.style.color=' #900000' onMouseOut=this.style.color='BLUE' href="http://www.php1.cn/">$i++;
}
}
function GetTag() {
$QuerySet = mysql_query(" 記事から * を選択");
while($Row = mysql_fetch_array($QuerySet)){
$Tag = $Row['tag']
$TagString = $TagString."," .$Tag;
}
return $TagString;
}
関数 SetSize($Size){
if($Size > 30)
$Size = 30;
//
echo "
";
$String = GetTag($String);
echo "
"; ;
?>
OK、完了!