php标签云的实现代码


Posted in PHP onOctober 10, 2012

数据库中,存放文章的表中有“Tag”字段,用来存放标签。标签之间用“,”分隔。比如“PHP,VB,随笔”。
下面的实现代码,将标签从数据库中搜出来,并格式化处理,使其以出现的次数为依据显示出不同大小的文字连接。
其中的细节,不做解释了!
观念陈、方法笨、效率低的标签云的实现代码如下:

/** 
* WNiaoBlog Tag Template ShowTag 
* 
* @package WNiaoBlog 
* 
* @subpackage Tag 
*/ 
//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 " 
"; 
?>

OK,DONE!
PHP 相关文章推荐
PHP经典的给图片加水印程序
Dec 06 PHP
php中目录,文件操作详谈
Mar 19 PHP
php2html php生成静态页函数
Dec 08 PHP
PHP企业级应用之常见缓存技术篇
Jan 27 PHP
PHP的博客ping服务代码
Feb 04 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
深入理解require与require_once与include以及include_once的区别
Jun 05 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
Jul 19 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
域名和cookie问题(域名后缀)
Oct 10 #PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 #PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 #PHP
php排序算法(冒泡排序,快速排序)
Oct 09 #PHP
php全排列递归算法代码
Oct 09 #PHP
php列出一个目录下的所有文件的代码
Oct 09 #PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 #PHP
You might like
用PHP函数解决SQL injection
2006/10/09 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
php中动态修改ini配置
2014/10/14 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
JS作用域深度解析
2016/12/29 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
用python做游戏的细节详解
2019/06/25 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
计算机专业自荐信
2013/10/14 职场文书
精细化工应届生求职信
2013/11/17 职场文书
演讲比赛策划方案
2014/06/11 职场文书
市场营销工作计划书
2014/09/15 职场文书
党员个人党性分析材料
2014/12/18 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers