데이터베이스에는 태그를 저장하는 데 사용되는 기사를 저장하는 테이블에 "태그" 필드가 있습니다. 태그는 ","로 구분됩니다. 예를 들어 "PHP, VB, 에세이"입니다.
다음 구현 코드는 데이터베이스에서 태그를 검색하고 발생 횟수에 따라 다양한 크기의 텍스트 링크가 표시되도록 형식을 지정합니다.
자세한 설명은 생략하겠습니다!
낡은 개념, 어리석은 방법, 낮은 효율성을 지닌 태그 클라우드의 구현 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다:
/**
* WNiaoBlog 태그 템플릿 ShowTag
*
* @package WNiaoBlog
*
* @subpackage 태그
*/
/ /데이터베이스 연결
/ /include('../include/config.php')
/**
* CountTag() - 통계 라벨은 숫자와 두 배열에 저장될 데이터를 나타냅니다.
*
* GetTag() - 데이터베이스에서 태그 라벨에 액세스합니다.
*/
function CountTag($String){
$TagString = $String;
// echo $TagString."
";
$Tags = 폭발(",",$TagString)
$n = 1;
$Continue = TRUE;//echo $Tags[1]."
"
//레이블이 없는 기사의 경우
while($Tags[$n] OR $ 태그[++$n] 또는 $Tags[++$n] ){
$EachTag = $Tags[$n++]
//echo $EachTag."
"; 계속 = 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] = $EachTagStr[$i+1][1] = 1 ;
$Continue = FALSE ;
}
}
} else { //배열 초기화 $EachTagStr[][]
$EachTagStr[$i][0] = $EachTag;
$EachTagStr[$i ][1] = 1;
$Continue = FALSE;
}
}
return $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 ; 글꼴 크기:".$Size ." ' onMouseOver=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;
function SetSize($Size){
$Size += 10;
if($Size > 30)
$Size = 30;
return $Size
}
//Go
";
echo " 태그 "클라우드";
$Row = CountTag($String)
echo "
";
?>
완료!