程序员人生 网站导航

改进PHPCMS的上一篇与下一篇功能

栏目:DedeCMS时间:2013-10-18 21:37:39

  网(LieHuo.Net)教程 今天在修改模板,需要一个上一篇下一篇的功能,搜索了一下,网的《PHPCMS实现上一篇/下一篇的完美方案》JS调用很好的解决了问题。

  但是现在有个问题,就是该帖子提供的方法是分两次调用的,即上一篇调用了一次,下一篇又调用了一次,这样有个缺点,就是在访问量大的情况下加重服务器负担(没多少访问量可能看不出效果),我稍微修改了一下,只要一次就可以了。

  代码:

以下为引用的内容:
<?php
include './include/common.inc.php';
if($catid && $contentid){
//下一篇开始
$previous_query = "select contentid,catid,url,title from ".DB_PRE."content where contentid < '$contentid' and catid='$catid' order by contentid desc LIMIT 0,1";
$previous_r = $db->get_one($previous_query);
if($previous_r){
$previous_qian = "下一篇:<a href=".$previous_r[url]." target=_blank>".$previous_r[title]."</a>";
}
else
{
$previous_qian = "下一篇:没有了";
}
$previous_qian = "<li>".$previous_qian."</li>";
echo "document.writeln('$previous_qian');";
//下一篇结束
//上一篇开始
$next_query = "select contentid,catid,url,title from ".DB_PRE."content where contentid > '$contentid' and catid='$catid' order by contentid asc LIMIT 0,1";
$next_r = $db->get_one($next_query);
if($next_r){
$next_qian = "上一篇:<a href=".$next_r[url]." target=_blank>".$next_r[title]."</a>";
}
else
{
$next_qian = "上一篇:没有了";
}
$next_qian = "<li>".$next_qian."</li>";
echo "document.writeln('$next_qian');";
//上一篇结束

}else{
echo "请正确填写调用参数!";
}
?>

  用上面的代码在PHPCMS的安装目录建立文件previous_and_next.php,现在输出的标签是<li></li>的,大家可以按自己的需要修改

  调用的方法和简单,在需要显示的地方用下面的代码即可。

以下为引用的内容:
<ul><script language="JavaScript" src="{PHPCMS_PATH}previous_and_next.php?contentid={$contentid}&catid={$catid}"></script></ul>

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐