帝国cms8.0上一篇,下一篇的两种高效写法可扩展样式

简洁、高效(纯PHP)、高亮完美、且样式极易扩展 ,最好的方式是: 只用 PHP 获取数据,HTML 样式完全独立写 。
推荐再次确认使用此纯 PHP 版本(完美解决高亮 + 8.0 规范 + 高效):

方法一:

<?php
// 获取当前表名
$tb = $class_r[$navinfor['classid']]['tbname'];

// 上一篇:id < 当前id
$pre = $empire->fetch1("select title,titleurl from {$dbtbpre}ecms_{$tb} where id<{$navinfor['id']} and classid={$navinfor['classid']} order by id desc limit 1");
if($pre){
echo '<p>上一篇:<a href="'.$pre['titleurl'].'">'.$pre['title'].'</a></p>';
}

// 下一篇:id > 当前id
$next = $empire->fetch1("select title,titleurl from {$dbtbpre}ecms_{$tb} where id>{$navinfor['id']} and classid={$navinfor['classid']} order by id asc limit 1");
if($next){
echo '<p>下一篇:<a href="'.$next['titleurl'].'">'.$next['title'].'</a></p>';
}
?>

方法二:

<?php
// 1. 预处理数据(静默执行,不输出任何 HTML)
$tb = $class_r[$navinfor['classid']]['tbname'];
// 查上一篇
$pre = $empire->fetch1("select title,titleurl from {$dbtbpre}ecms_{$tb} where id<{$navinfor['id']} and classid={$navinfor['classid']} order by id desc limit 1");
// 查下一篇
$next = $empire->fetch1("select title,titleurl from {$dbtbpre}ecms_{$tb} where id>{$navinfor['id']} and classid={$navinfor['classid']} order by id asc limit 1");
?>

<!-- 2. 纯 HTML 区域:样式随便改,只需判断是否存在 -->
<?php if($pre){ ?>
<div class="pre-link">
上一篇:<a href="<?=$pre['titleurl']?>"><?=$pre['title']?></a>
</div>
<?php } ?>

<?php if($next){ ?>
<div class="next-link">
下一篇:<a href="<?=$next['titleurl']?>"><?=$next['title']?></a>
</div>
<?php } ?>

给TA打赏
共{{data.count}}人
人已打赏
帝国CMS教程

帝国cms当点击量超过一万的时候换成万为单位同时保留两位数的方法

2026-3-2 21:12:23

DEDECMS教程

织梦怎么根据下级栏目获得顶级栏目名称

2024-5-13 10:14:04

【腾讯云】11.11云上盛惠!云服务器首年1.8折起,买1年送3个月!
11.11云上盛惠!海量产品·轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。
查看更多相关信息>>
站长

(工作日 10:00 - 22:30 为您服务)

2026-03-25 12:50:48

您好,无论是售前、售后、意见建议……均可通过联系工单与我们取得联系。

猜你想问:

  • 购买的模板免费包安装吗?

  • 这个演示地址有吗?

  • 购买vip会员可以下载哪些模板?

您的留言我们已经收到,我们将会尽快跟您联系!
取消
立即选择任一渠道联系我们