>  기사  >  데이터 베이스  >  태그 클라우드를 구현하는 PHP 코드

태그 클라우드를 구현하는 PHP 코드

怪我咯
怪我咯원래의
2017-07-11 16:31:041263검색

태그 클라우드는 관련 태그와 해당 가중치의 집합입니다. 일반적인 태그 클라우드에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.