집 >데이터 베이스 >MySQL 튜토리얼 >태그 클라우드를 구현하는 PHP 코드
태그 클라우드는 관련 태그와 해당 가중치의 집합입니다. 일반적인 태그 클라우드에는 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='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 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!