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中在数据库中保存Checkbox数据(1)
Oct 09 PHP
PHP读写文件的方法(生成HTML)
Nov 27 PHP
PHP和XSS跨站攻击的防范
Apr 17 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
WebQQ最新登陆协议的用法
Dec 22 PHP
文件上传之SWFUpload插件(代码)
Jul 30 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 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中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
JS trim去空格的最佳实践
2011/10/30 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
详解Python的Django框架中的通用视图
2015/05/04 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
浅析Python基础-流程控制
2016/03/18 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
简单的命令查看安装的python版本号
2020/08/28 Python
HTML5 Canvas——用路径描画线条实例介绍
2013/06/09 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
计算机实训报告范文
2014/11/05 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
python中if和elif的区别介绍
2021/11/07 Python