37 1234
发新话题
打印

【7月20日更新】Rndarticle 随机乱弹 1.3

本主题由 月上之木 于 2008-7-14 23:02 加入精华

【7月20日更新】Rndarticle 随机乱弹 1.3

这个随机文章当然和飞扬的随机列表不一样,概念上的差异!

是一个链接的转向,随机转到blog的任意一篇文章上来,在其他网站有“漫游”、“乱弹”、“手气不错”等等说法。

看一下效果:http://www.wilf.cn/plugin/rndarticle/redirect.asp
引用:
5月28日更新
1、采用了江海客的方法,不会再弹到首页来了
2、激活插件自动添加代码到导航,停用移除
引用:
7月9日更新
根据hp的提议,增加了对最大文章id的判断,如果没有设置,则将当前最大文章id写入最大值,默认最大值为空
引用:
7月20日更新
修正了include.asp的脚本错误
务必正确设置最大文章数的id,超出范围的话肯定会出错

[ 本帖最后由 wolfit 于 2008-7-20 23:52 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

很好,沙发,我试用了

TOP

狼的插件大爆发啊
大脑抽风的时候,思维禁不住乱跑,偶尔随手划划

Z-DBS演示站点:  游魂的部落格
还算有用的东西:火星文在线翻译

TOP

果真的乱弹啊~~呵呵!!

TOP

有个问题,我试了你的网站,为什么我点10次,有9次都是弹到你的首页呢?难道我人品不好?

TOP

没有想到办法过滤到已经删除id的文章,所以就弹到首页去了

先将就着,以后有办法继续改

TOP

有点意思

有点像手气不错的感觉
时尚街拍  【看偷拍地别点】

TOP


真晕这样也行~

TOP

你的好东西还真多 ````

TOP

TOP

有点不好,
通过随机ID定位的话,设置就不应该使用文章总数,而应该使用最新文章ID才对。
小狼研究下?

TOP

看了关键代码,查找ID,找到了取得URL找不到赋值首页。
修改了一下。代码还可以优化~小狼加油~~~
参数设置中的[最大文章数]就要改为[最新文章ID]了,毕竟是通过ID查找的而不是objRS.Move x,不是吗?另外哪个objRS.MoveNext是不是不需要啊?呵呵。
以下为原始代码:
复制内容到剪贴板
代码:
        randomize
        RndNumber=cInt((MaxNum-MinNum+1)*rnd+MinNum)

        Set objRS=objConn.Execute("SELECT [log_ID] FROM [blog_Article] WHERE ([log_ID]=" & RndNumber & ") AND ([log_Level]>1) order by [log_ID] desc")
        If (Not objRS.bof) And (Not objRS.eof) Then
                        Set objArticle=New TArticle
                        If objArticle.LoadInfoByID(objRS("log_ID")) Then
                                strPrevious= objArticle.Url
                        End If
                        Set objArticle=Nothing
                        objRS.MoveNext
        else
      strPrevious= ZC_BLOG_HOST      '如果转到不该转的地方,则转向首页
        End If
        objRS.close
       
        Response.Redirect strPrevious
以下为修改过的代码:
复制内容到剪贴板
代码:
Function GetArticleUrl()
        RndNumber=cInt((MaxNum-MinNum+1)*rnd+MinNum)

        Set objRS=objConn.Execute("SELECT [log_ID] FROM [blog_Article] WHERE ([log_ID]=" & RndNumber & ") AND ([log_Level]>1) order by [log_ID] desc")
        If (Not objRS.bof) And (Not objRS.eof) Then
                Set objArticle=New TArticle
                If objArticle.LoadInfoByID(objRS("log_ID")) Then
                        strPrevious = objArticle.Url
                End If
                Set objArticle=Nothing
                objRS.close
        Else
                GetArticleUrl()        '如果没有该ID,则重新乱弹。
        End If
End Function

randomize
Call GetArticleUrl()

Response.Redirect strPrevious
[ 本帖最后由 江海客 于 2008-5-28 15:34 编辑 ]

TOP

 37 1234
发新话题