编程之家 jb51.cc 今天在修改模板,需要一个上一篇下一篇的功能,搜索了一下,网的《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,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> |