数据库中,存放文章的表中有“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 " $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!
0
0
相关文章
如何使用 PHP 正确计算文本文件中数字的总和
PHP中浮点数精度问题导致log(1000, 100)看似等于1.5实则不等
如何在PHP中将MySQL数据库中的Base64图片用作网页背景图
php动态网站开发怎样缓存页面数据_PHP动态网站页面缓存法【技巧】
php实时输出和websocket区别_php实时输出场景对比【教程】
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。
91
2026.02.02
本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。
27
2026.02.02
本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。
11
2026.02.02
本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。
5
2026.02.02
本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。
5
2026.02.02
热门下载
相关下载
精品课程
最新文章





