帝国CMS中高效重复调用上一篇下一篇的SQL语句写法
帝国CMS高效重复调用上一篇下一篇SQL写法是使用`[!--prev.url--]`和`[!--next.url--]`标签。在模板中,将上一篇文章的链接放在`[!--prev.url--]`标签内,将下一篇文章的链接放在`[!--next.url--]`标签内。这样,当用户浏览文章时,系统会自动获取上一篇和下一篇文章的链接,实现快速翻页功能。同时,这种方法不需要编写额外的PHP代码,提高了开发效率。
分享一段更高效的帝国CMS调用上一篇下一篇方法,支持重复多次调用,但只查一次数据库。
查询SQL
<?php//上下翻页$goPage=['prev'=>['text'=>'上一题'],'next'=>['text'=>'下一题']];$sql=$empire->query("(SELECTtitleurl,id,titleFROM`{$dbtbpre}ecms_news`WHERE`id`<".$navinfor['id']."AND`classid`=".$navinfor['classid']."ORDERBY`id`DESCLIMIT1)UNION(SELECTtitleurl,id,titleFROM`{$dbtbpre}ecms_news`WHERE`id`>".$navinfor['id']."AND`classid`=".$navinfor['classid']."ORDERBY`id`LIMIT1)");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);}}?>
显示代码
<?phpforeach($goPageas$type=>$page):?><divclass="col-sm-6mb-5"><divclass="card"><divclass="card-bodyposition-relative"><?phpif(isset($page['title'])):?><ahref="<?phpecho$page['titleurl'];?>"tltle="<?phpecho$page['title'];?>"class="btnbtn-dangerstretched-link"><?phpecho$page['text'];?></a><?phpelse:?><ahref="javascript:;"class="btnbtn-primarydisabled"role="button"aria-disabled="true"><?phpecho$page['text'];?></a><?phpendif;?></div></div></div><?phpendforeach;?>