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 用sock技术发送邮件的函数
Jul 21 PHP
php 静态变量与自定义常量的使用方法
Jan 26 PHP
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
php数组中删除元素的实现代码
Jun 22 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
基于empty函数的判断详解
Jun 17 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
YII框架关联查询操作示例
Apr 29 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 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中使用正则表达式进行查找替换
2013/06/13 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
python3实现短网址和数字相互转换的方法
2015/04/28 Python
说一说Python logging
2016/04/15 Python
python实现二叉查找树实例代码
2018/02/08 Python
Python Flask框架扩展操作示例
2019/05/03 Python
python实现随机漫步方法和原理
2019/06/10 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
如何基于线程池提升request模块效率
2020/04/18 Python
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
决定成败的关键——创业计划书
2014/01/24 职场文书
班长演讲稿范文
2014/04/24 职场文书
完整版商业计划书
2014/09/15 职场文书
2016新年感言
2015/08/03 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
golang内置函数len的小技巧
2021/07/25 Golang
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android