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入门学习知识点三 PHP上传
Jul 14 PHP
ThinkPHP写第一个模块应用
Feb 20 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
Apr 26 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
php生成带logo二维码方法小结
Apr 08 PHP
基于PHP实现通过照片获取ip地址
Apr 26 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
PHP实现用户登录的案例代码
May 10 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
PHP之header函数详解
Mar 02 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有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
基于vue实现分页效果
2017/11/06 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
python提取字典key列表的方法
2015/07/11 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
Python中SQLite如何使用
2020/05/27 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
css3弹性盒模型实例介绍
2013/05/27 HTML / CSS
大学生创业项目方案
2014/03/08 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
公司活动总结范文
2014/07/01 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
师德师风剖析材料
2014/09/30 职场文书
辞职信范文大全
2015/03/02 职场文书