帝国CMS高效重复调用上一篇下一篇SQL写法

分享一段更高效的帝国CMS调用上一篇下一篇方法,支持重复多次调用,但只查一次数据库。

查询SQL

<?php
//上下翻页
$goPage = [
    'prev'        => ['text' => '上一题'],
    'next'         => ['text' => '下一题']
];
$sql = $empire->query((SELECT titleurl, id, title FROM `{$dbtbpre}ecms_news` WHERE `id` <  . $navinfor['id'] .  AND `classid` =  . $navinfor['classid'] .  ORDER BY `id` DESC LIMIT 1) UNION (SELECT titleurl, id, title FROM `{$dbtbpre}ecms_news` WHERE `id`>  . $navinfor['id'] .  AND `classid` =  . $navinfor['classid'] .  ORDER BY `id` LIMIT 1));
if(0 < $empire->num1($sql)) {
        while($r = $empire->fetch($sql)){
        $key = isset($r['id']) && $r['id'] > $navinfor['id'] ? 'next' : 'prev';
        $goPage[$key]['title']                 = $r['title'];
        $goPage[$key]['titleurl']         = sys_ReturnBqTitleLink($r);
        }
}
?>

显示代码

   <?php foreach($goPage as $type => $page):?>
   
      <div class=col-sm-6 mb-5>
        <div class=card>
          <div class=card-body position-relative>
                      <?php if(isset($page['title'])):?>
                      <a href=<?php echo $page['titleurl'];?> tltle=<?php echo $page['title'];?> class=btn btn-danger stretched-link><?php echo $page['text'];?></a>
                      <?php else:?>
                      <a href=javascript:; class=btn btn-primary disabled role=button aria-disabled=true><?php echo $page['text'];?></a>
                      <?php endif;?>
            
          </div>
        </div>
      </div>
    <?php endforeach;?>

简简单单挺好的

联系我们 订单查询