-
- function createTagCloud($tags)
- {
- //タグの配列を通過します
- $i=0;
- foreach($tags as $tag)
- {
- $id = $tag['id']; //
- を介して渡されるタグ ID $name = $tag['tag']; //タグ名も配列で渡されます
-
- //mysql count コマンドを使用して、その ID でタグ付けされたチュートリアルを合計します
- $sql = "SELECT COUNT(*) AS totalnum FROMtutorials WHERE tags LIKE '%" .$id."%' AND 公開 = 1";
-
- //結果セットを作成して返します
- $res = mysql_query($sql);
- $res = mysql_fetch_assoc($res);
-
- //結果があることを確認します ;)
- if($res)
- {
- //タグ名と結果の数を使用して出力配列を構築します
- $output[$i]['tag'] = $名前;
- $output[$i]['num'] = $res['totalnum'];
- }
-
- $i++;
- }
-
- /*これは同様の SQL ステートメントを実行する別の関数を呼び出しているだけですが、所有しているコンテンツの数を返します*/
- $total_tuts = $this->getNumberOfTutorials();
-
- //うーん、PHP の XHTML? 手をたたく – これはベストプラクティスではありませんが、明らかに怠けていると感じていました
- $html = '
-
- // $output 配列 (上で作成した) の各項目を反復処理します
- foreach($output as $tag)
- {
- // タグの出現数を全体の数のパーセンテージとして取得します
- $ratio = (100 / $total_tuts) * $tag['num'];
-
- //数値を最も近い 10 に四捨五入します
- $ratio =round($ratio,-1);
-
- /*そのクラス名を list-item に追加するので、結果が 20% だった場合、cloud-20*/
- $html.= '
- '.$tag['tag'].'
';
- }
-
- //UL を閉じる
- $html.= '';
-
- $html を返す;
- }
复制代码
2、css代码部分
/*删除許可の列表式、使用するのは普通のきれいな列表*/
-
- .home-item ul.tagcloud
- {
- list-style-type:none;
- マージン:0px;
- パディング:0px;
- }
-
- /*设置liの样式*/
- .home-item ul.tagcloud li
- {
- display:inline ! important;
- マージン右:15px;
- 行の高さ:2em;
- }
-
- .home-item ul.tagcloud li a
- {
- display:inline;
- }
-
- /*标签云的效果*/
- .home-item ul.tagcloud li.cloud-10 a
- {
- font-size:110%;
- }
-
- .home-item ul.tagcloud li.cloud-20 a
- {
- font-size:120%;
- }
-
- .home-item ul.tagcloud li.cloud-30 a
- {
- font-size:130%;
- }
-
- /**************************************
- おわかりでしょう、いくつか省略しています
- ** **********************************/
-
- .home-item ul.tagcloud li.cloud-90 a
- {
- font-size:190%;
- }
-
- .home-item ul.tagcloud li.cloud-100 a
- {
- font-size:200%;
- }
复制代
|