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+Mysql+jQuery实现动态展示信息
Oct 08 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
Feb 02 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
解析如何用php screw加密php源代码
Jun 20 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
phalcon框架使用指南
Feb 23 PHP
PHP基于curl后台远程登录正方教务系统的方法
Oct 14 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP与以太坊交互详解
Aug 24 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 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
织梦模板标记简介
2007/03/11 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
php实现文件预览功能
2017/05/23 PHP
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
Selenium的使用详解
2018/10/19 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
初任培训自我鉴定
2013/10/07 职场文书
编辑求职信样本
2013/12/16 职场文书
服务宗旨标语
2014/07/01 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
整改落实自查报告
2014/11/05 职场文书
接收函
2019/04/22 职场文书