分享一段更高效的帝国CMS调用上一篇下一篇方法,支持重复多次调用,但只查一次数据库。
查询SQL
['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);
}
}
?>
显示代码
版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!
转载请注明: 帝国CMS实现重复调用上一篇下一篇SQL代码写法