您的位置:首页 > 帝国cms教程

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

2025-12-22 09:53:14 帝国cms教程 257

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

方法1:

<?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>';
}
?>

方法2:{推荐}

<?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 } ?>

 

相关推荐