sql获取相关文章比较好的方法

  • 时间:
  • 浏览:18

用sql获取相关文章不要单纯去用select * from article where catid=** and aid<>**; 这样每篇文章获取的相关文章是固定的,不利于体验和seo。


推荐获取当前文章的前几篇和后几篇,这样每篇文章都有显示的机会,代潇瑞博客的相关文章就是这样的算法。


sql参考范例(PHP语言):


$rArt1 = $db->query('select * from article where catid=$catid and aid<$aid order by aid desc limit 0,4');

$rArt2 = $db->query('select * from article where catid=$catid and aid>$aid order by aid asc limit 0,4');

if( !empty($rArt1) && !empty($rArt2) )

{

$relationArt = array_merge($rArt1, $rArt2);

}

else

{

$relationArt = empty($rArt1) ? $rArt2 : $rArt1;

}


即获取当前文章相邻的8篇文章,当文章处于最后一篇,或者最前一篇,那它只有前部分或后部分4篇相关文章。其实这里可以做判断,让它取足8篇相关文章,这就看自己的需求了。