Eine Tag-Cloud ist eine Reihe verwandter Tags und ihrer entsprechenden Gewichtungen. Eine typische Tag-Cloud besteht aus 30 bis 150 Tags. Die Gewichtung wirkt sich auf die Schriftgröße oder andere verwendete visuelle Effekte aus. Mittlerweile werden Histogramme oder Kreisdiagramme am häufigsten zur Darstellung von etwa 12 verschiedenen Gewichtungen verwendet. Daher können Tag-Clouds mehr Rechte darstellen, obwohl sie weniger genau sind. Darüber hinaus sind Tag-Clouds oft interaktiv: Tags sind typischerweise Hyperlinks, die es Benutzern ermöglichen, sich ihre Inhalte genauer anzusehen.
Der folgende Implementierungscode sucht nach Tags aus der Datenbank und formatiert sie so, dass sie Textverbindungen unterschiedlicher Größe basierend auf der Häufigkeit des Vorkommens anzeigen.
Speichern Sie in der Datenbank den Artikel Es gibt einen Feld „Tag“ in der Tabelle, das zum Speichern von Tags verwendet wird. Tags werden durch "," getrennt. Zum Beispiel „PHP, VB, Aufsätze“.
Der folgende Implementierungscode durchsucht die Tags aus der Datenbank und formatiert sie so, dass sie Textlinks unterschiedlicher Größe basierend auf der Häufigkeit des Vorkommens anzeigen.
Ich werde die Details nicht erklären!
Der Implementierungscode der Tag Cloud mit veralteten Konzepten, dummen Methoden und geringer Effizienz lautet wie folgt:
Der Code lautet wie folgt:
//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 " "; ?>
Das obige ist der detaillierte Inhalt vonPHP-Code zur Implementierung der Tag-Cloud. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!