分享一段更高效的帝国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;?>
标签: SQL语句 SQL语法
点击这里复制本文地址

以上内容由qqso网站教程网整理呈现.
原文地址:帝国CMS高效重复调用上一篇下一篇SQL写法发布于2022-05-16 21:01:48。
请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!