sablog 上一篇 下一篇 优化

首先在./global.php里插入这个函数

 

PHP代码
  1. function bottom_title($action,$articleid){       
  2.     $id=($action=="next"?++$articleid:--$articleid);       
  3.     global $DB,$db_prefix;       
  4.     $title=$DB->fetch_one_array("SELECT title,visible from {$db_prefix}articles WHERE   articleid='".$id."'");       
  5.     $title=$title==0?""$title['visible']==0?bottom_title($action,$articleid)title['title']);       
  6.     return $title;       
  7. }      

这个函数是整个功能的核心

下一步就是来调用这个函数了

在./index.php里”显示文章“的那一块做如下修改

 

PHP代码
  1. // 显示文章       
  2. elseif ($_GET['action'] == 'show') {       
  3.     session_start();       
  4.     $articleid = intval($_GET['id']);       
  5.     // 获取文章信息          
  6.     $article = $DB->fetch_one_array("SELECT a.*,c.name as cname,u.username     
  7.         FROM {$db_prefix}articles a     
  8.         LEFT JOIN {$db_prefix}categories c ON c.cid=a.cid     
  9.         LEFT JOIN {$db_prefix}users u ON a.uid=u.userid     
  10.         WHERE a.visible='1' AND articleid='$articleid'");       
  11.     if (!$article) {       
  12.         message('记录不存在''./');       
  13.     }       
  14.     if ($_POST['readpassword'] && ($article['readpassword'] == addslashes($_POST['readpassword']))) {       
  15.         $_SESSION['readpassword_'.$articleid] = addslashes($_POST['readpassword']);       
  16.     }       
  17.       
  18.       
  19. //加入下面两句,就是为了调用       
  20. //显示上篇下篇的标题       
  21. $pre=bottom_title("pre",$articleid);       
  22. $next=bottom_title("next",$articleid);      

在这里调用结束了,下一步就是输出到模板里了

在./template/你的模板名字/show.php中找到“上一篇”和“下一篇”,分别修改为$pre和$next就可以了!

OK,就这样了,这个功能实现挺简单的,在速度上要比默认的慢一些,但是如果流量不是巨大的那种站也体会不到慢,毕竟只是多了个查询而已,而这个功能对seo可是很重要的!

« 我的歌 ↑ | ↓ 迪吧美女,性感演绎舞曲_中文版LA LA LOVE »
Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容(*):