简洁、高效(纯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 } ?>
腾讯云 12-20 广告
