八年建站经验,专注、专心、专致! 凌众互联-服务始于心 设为首页 加入收藏 |  关于我们 |  招兵买马 |  
0
你的相关阅读够“相关”吗
为了增加内链,也为了方便用户浏览更多相关的网页,许多网站都设置了“相关阅读”,或“猜你喜欢”之类的栏目,然而我发现有不少网站的相关阅读每个网页都是一样的,并且有时相关性也不强,琢磨后发现,原来站长设置的相关阅读其实是数据表里的最近几条记录罢了,它使用的SQL查询语句大致是这样:
 
  select id,title from mytb order by id desc limit 8
 
  这样的查询,有明显的两个缺陷:
 
  1. 查找到的结果并不能保证是相关的;
 
  2.会照成大量的页面使用了相同的相关阅读,用户体验不好,同时也占据了其它数据曝光的机会。
 
  其实,这个查询语句稍微优化下,就可以改善“相关阅读”,方法如下:
 
  分析:首先判断当前网页的数据id在整个表中所处的位置,分为三种情况(取8条记录为例):
 
  1. 当前id小于升序下的第4条id;
 
  2. 当前id大于降序下的第4条id;
 
  3.当前id处于这两者之间。
 
  先得到数据表的最大(maxid)和最小(minid) id:
 
  select max(id) maxid from mytb;
 
  select min(id) minid from mytb;
 
  然后在程序中使用判断语句,比如在php中:
 
  $num=$id+4;
 
  $where=" order by id desc";
 
  if($id<$maxid-4 && $id>$minid+4) $where="and id<$num order by id desc";
 
  if( $id<$minid+4) $where="and id>$minid order by id asc";
 
  $sql="select id,title from mytb where id !=$id $where limit 8 ";
 
  通过上述方法取出来的值会随着当前ID的变化而变化,特别是当你上传文章的时候,如果把相关性的文章紧挨着上传,那么相关性就会更强。
 
  当然,也可以使用匹配关键词的方式,但是一篇文章往往有好几个关键词,何况相关阅读往往是在同一栏目下进行的,查询效率远没有上面提供的方法强。
 
 
 
    凌众互联是一家专业石家庄网站建设,网站优化,网络营销的互联网应用服务商,有着六年的互联网从业经验,是中小型企业网络营销的首选服务商。  网址 www.lzhl.net  电话 13582335510




凌众互联是一家专业石家庄网站建设,网站优化,网络营销的互联网应用服务商,有着八年的互联网建设经验,是中小型企业网络营销的首选服务商。 网址 www.lzhl.net 建站热线:0311-68030589

免费咨询热线:0311-68030589    24小时热线:13582335510    13739764686