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中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
PHP 导出Excel示例分享
Aug 18 PHP
php处理复杂xml数据示例
Jul 11 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
Laravel5.1框架路由分组用法实例分析
Jan 04 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 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:风雨欲来 路在何方?
2006/10/09 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Tensorflow 多线程设置方式
2020/02/06 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
俄罗斯品牌服装在线商店:VIPAVENUE
2020/08/10 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
法院授权委托书范文
2014/08/02 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
党员评议自我评价
2015/03/03 职场文书
自荐信格式范文
2015/03/04 职场文书
写给女朋友的保证书
2015/05/09 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers