这段代码放到qgmod.func.php下面:
#[根据所给ID获取上一篇,下一篇]
function GET_PREV_NEXT($id, $cateid = '') {
global $DB, $prefix;
$wstr = '';
if ($cateid)
{
$wstr .= "AND cateid='$cateid'";
}
$sql_prev = "SELECT * FROM ".$prefix."msg WHERE id < '$id' ".$wstr." ORDER BY id DESC LIMIT 1";
$sql_next = "SELECT * FROM ".$prefix."msg WHERE id > '$id' ".$wstr." ORDER BY id ASC LIMIT 1";
$rs = array();
$rs[prev] = $DB->qgGetOne($sql_prev);
$rs[next] = $DB->qgGetOne($sql_next);
return $rs;
}
下面代码在模板里用来调用上一篇下一篇:
<!-- run:$pre_next = GET_PREV_NEXT($id) -->
上一篇:<a href="msg.php?id={:$pre_next[prev][id]}">{:$pre_next[prev][subject]}</a> - 下一篇:<a href="msg.php?id={:$pre_next[next][id]}">{:$pre_next[next][subject]}</a>
<!-- run:unset($pre_next) -->
三种类型调用:
<!-- run:$pre_next = GET_PREV_NEXT($id) -->这句调用上一篇下一篇的时候可以指定当前分类下也可以是全部文章,如下:
<!-- run:$pre_next = GET_PREV_NEXT($id) -->----全部文章中
<!-- run:$pre_next = GET_PREV_NEXT($id, $cateid) -->---当前分类下
注意:这个个我没加判断,如果没有数据会显示空,所以你加个判断吧.我觉得,如果你有时间的话,可以去研究下ET模板引擎,phpok用的那个。