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 相关文章推荐
php5 and xml示例
Nov 22 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
php反射应用示例
Feb 25 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 PHP
php实现文件预览功能
May 23 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
Apr 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
dojo 之基础篇
2007/03/24 Javascript
Javascript的一种模块模式
2008/03/22 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
layui添加动态菜单与选项卡
2019/07/26 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
简单了解什么是神经网络
2017/12/23 Python
python中requests和https使用简单示例
2018/01/18 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
python实现键盘输入的实操方法
2019/07/16 Python
python实现静态服务器
2019/09/05 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
python SOCKET编程基础入门
2021/02/27 Python
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
安全演讲稿大全
2014/05/09 职场文书
车间核算员岗位职责
2014/07/01 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL