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 相关文章推荐
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
Thinkphp调用Image类生成缩略图的方法
Mar 07 PHP
详解PHP中的null合并运算符
Dec 30 PHP
php的闭包(Closure)匿名函数初探
Feb 14 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
Laravel框架中集成MongoDB和使用详解
Oct 17 PHP
tp5修改(实现即点即改)
Oct 18 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
咖啡的化学
2021/03/03 咖啡文化
PHP校验ISBN码的函数代码
2011/01/17 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
详解vue axios中文文档
2017/09/12 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
Python实现截屏的函数
2015/07/25 Python
python实现kMeans算法
2017/12/21 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
厂办主管岗位职责范本
2014/02/28 职场文书
2014年派出所工作总结
2014/11/21 职场文书
三好学生个人总结
2015/02/15 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
领导欢送会主持词
2015/07/06 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫