Home >Backend Development >PHP Tutorial >php and css tag cloud effect

php and css tag cloud effect

WBOY
WBOYOriginal
2016-07-25 08:56:46965browse
  1. function createTagCloud($tags)
  2. {
  3. //I pass through an array of tags
  4. $i=0;
  5. foreach($tags as $tag)
  6. {
  7. $id = $tag['id']; //the tag id, passed through
  8. $name = $tag['tag']; //the tag name, also passed through in the array
  9. //using the mysql count command to sum up the tutorials tagged with that id
  10. $sql = "SELECT COUNT(*) AS totalnum FROM tutorials WHERE tags LIKE '%".$id."%' AND published = 1";
  11. //create the resultset and return it
  12. $res = mysql_query($sql);
  13. $res = mysql_fetch_assoc($res);
  14. //check there are results ;)
  15. if($res)
  16. {
  17. //build an output array, with the tag-name and the number of results
  18. $output[$i]['tag'] = $name;
  19. $output[$i]['num'] = $res['totalnum'];
  20. }
  21. $i++;
  22. }
  23. /*this is just calling another function that does a similar SQL statement, but returns how many pieces of content I have*/
  24. $total_tuts = $this->getNumberOfTutorials();
  25. //ugh, XHTML in PHP? Slap my hands - this isn't best practice, but I was obviously feeling lazy
  26. $html = '
      ';
    • //iterate through each item in the $output array (created above)
    • foreach($output as $tag)
    • {
    • //get the number-of-tag-occurances as a percentage of the overall number
    • $ratio = (100 / $total_tuts) * $tag['num'];
    • //round the number to the nearest 10
    • $ratio = round($ratio,-1);
    • /*append that classname onto the list-item, so if the result was 20%, it comes out as cloud-20*/
    • $html.= '
    • '.$tag['tag'].'
    • ';
    • }
    • //close the UL
    • $html.= '
    ';
  27. return $html;
  28. }
复制代码

2,css代码部分 /*删除默认的列表样式,使之成为一个普通的清单列表*/

  1. .home-item ul.tagcloud
  2. {
  3. list-style-type:none;
  4. margin:0px;
  5. padding:0px;
  6. }
  7. /*设置li的样式*/
  8. .home-item ul.tagcloud li
  9. {
  10. display:inline !important;
  11. margin-right:15px;
  12. line-height:2em;
  13. }
  14. .home-item ul.tagcloud li a
  15. {
  16. display:inline;
  17. }
  18. /*标签云的效果*/
  19. .home-item ul.tagcloud li.cloud-10 a
  20. {
  21. font-size:110%;
  22. }
  23. .home-item ul.tagcloud li.cloud-20 a
  24. {
  25. font-size:120%;
  26. }
  27. .home-item ul.tagcloud li.cloud-30 a
  28. {
  29. font-size:130%;
  30. }
  31. /*************************************
  32. you get the idea, i'm skipping a few
  33. *************************************/
  34. .home-item ul.tagcloud li.cloud-90 a
  35. {
  36. font-size:190%;
  37. }
  38. .home-item ul.tagcloud li.cloud-100 a
  39. {
  40. font-size:200%;
  41. }
复制代码


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn