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中批量修改文件后缀名的函数代码
Oct 23 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
帝国cms常用标签汇总
Jul 06 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 PHP
CodeIgniter记录错误日志的方法全面总结
May 17 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
Oct 16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
js中replace的用法总结
2013/12/27 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
javascript如何创建对象
2016/08/29 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
js继承实现方法详解
2016/12/16 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
Python中pillow知识点学习
2018/04/30 Python
python统计中文字符数量的两种方法
2019/01/31 Python
Python爬虫与反爬虫大战
2020/07/30 Python
详解python变量与数据类型
2020/08/25 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
天鹅的故事教学反思
2014/02/04 职场文书
银行实习推荐信
2015/03/27 职场文书
心灵点滴观后感
2015/06/02 职场文书
Pytorch DataLoader shuffle验证方式
2021/06/02 Python