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 相关文章推荐
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
PHP 可阅读随机字符串代码
May 26 PHP
PHP闭包(Closure)使用详解
May 02 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
php处理带有中文URL的方法
Jul 11 PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 PHP
PHP加MySQL消息队列深入理解
Feb 27 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和MySql中计算时间差的方法详解
2015/03/27 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
php中使用gd库实现远程图片下载实例
2015/05/12 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
js计数器代码
2006/11/04 Javascript
用js+xml自动生成表格的东西
2006/12/21 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
python中pika模块问题的深入探究
2018/10/13 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
对python判断是否回文数的实例详解
2019/02/08 Python
python selenium循环登陆网站的实现
2019/11/04 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
几个人围成一圈的问题
2013/09/26 面试题
可靠的数据流传输TCP
2016/03/15 面试题
实习教师自我鉴定
2013/12/12 职场文书
期末自我鉴定
2014/01/23 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
募捐感谢信
2015/01/22 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书