Z-Blog文章排行插件增加用户推荐文章
幻冰小站 浏览次数:560 2020-03-18 14:09:38

  今天将“Z-Blog随机文章和文章排行插件”新增加了一个功能,就是结合“Z-Blog文章投票插件”的数据库,产生了一个新的随机排行:用户推荐文章排行。

  这个排行的算法比较简单,根据“Z-Blog文章投票插件”中用户投票的结果,当用户投票总数超过10次的时候,文章即可加入用户排行,排行按照用户投票的分数由高向低显示,我目前使用这个文章排行替换原来的随机文章的内容,因为这个排行对于新用户来说,还是有一定的价值的。

  这个文章排行的列表是完全由用户自己决定的,如果用户觉得哪篇文章不好看却排在前面,可以用投票的方式将文章“选”下去,如果你发现更好的文章,也可以将文章“投”上来,不过如果投票用户特别多的话,那么选下去或者选上来就比较困难了。文章显示的先后顺序按照我先前写的Z-Blog热文排行的算法,根据文章浏览次数,评论次数,引用次数以及文章的日期来排序。

  下面是这个插件的相关代码,将这些代码加入到“Z-Blog随机文章和文章排行插件”中去,然后再增加一行“txtout = Replace(txtout, "<!--用户推荐-->", strtoprate)”,然后修改模板增加“<!--用户推荐-->”即可。显示效果参见我文章下面的“文章排行”栏目。

    '用户推荐排行    connstr2="DBQ=c:\inetpub\wwwroot\PLUGIN\Rating\Rating.mdb;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"     set conn2=server.createobject("ADODB.CONNECTION")    conn2.open connstr2    strSql = "select top 10 id from Score WHERE (Rnumber>=10) ORDER BY Score desc"    rs.Open strSql, conn2, 1, 1    strtopid = " "    While Not rs.EOF        strtopid = strtopid & "log_ID=" & cstr(rs("id")) & " or "         rs.movenext    Wend    rs.Close    set conn2 = Nothing    strtopid = left (strtopid,len(strtopid)-4) '去掉尾部    strSql = "select top 10 log_ID,log_Title from blog_Article WHERE " & strtopid & " ORDER BY log_CommNums*100 + log_TrackBackNums*200 + sqr(log_ViewNums)*10 - (date()-Log_PostTime)*(date()-Log_PostTime) DESC "  '热文排行算法    rs.Open strSql, conn, 1, 1    strtoprate = " "    While Not rs.EOF        strtoprate = strtoprate & " " & cutStr(rs("log_Title"),intCutLen) & ""         rs.movenext    Wend    rs.Close

 

顶一下 ▲()   踩一下 ▼()