账号通
    

账号  

密码  

1177

查看

0

回复
主题:求助,上一篇、下一篇替换 [收藏主题]  
dedejuju 当前离线

292

主题

0

广播

1

粉丝
添加关注
级别:二年级

用户积分:3312 分
登录次数:200 次
注册时间:2008/1/8
最后登录:2017/12/7
dedejuju 发表于:2008/10/4 17:19:00   | 只看该作者 查看该作者主题 楼主 
科汛在线考试系统(NET)

4.5版本,{$GetPrevArticle}{$GetNextArticle}替换上一篇和下一篇是依据文章ID来进行的,见KS_Cls/KS.RCls.asp中的代码:

 

'*********************************************************************************************************
  '函数名:ReplacePrevNext
  '作  用:上一篇、下一篇
  '参  数:NowID 现在ID,Tid 目录ID,TypeStr类型
  '*********************************************************************************************************
  Function ReplacePrevNext(ChannelID,NowID, Tid, TypeStr)
       Dim SqlStr
       Select Case KS.C_S(ChannelID,6)
      Case 1:SqlStr="SELECT Top 1 ID,Title,Tid,InfoPurview,ReadPoint,Fname,Changes,AddDate"
      Case 2,3,4,7:SqlStr="SELECT Top 1 ID,Title,Tid,InfoPurview,ReadPoint,Fname,0"
      Case 8:SqlStr="SELECT Top 1 ID,Title,Tid,0,0,Fname,0"
      Case 5:SqlStr=" SELECT Top 1 ID,Title,Tid,0,0,Fname,0"
      Case Else :ReplacePrevNext="":Exit Function
    End Select
    SqlStr=SqlStr & " From " & KS.C_S(ChannelID,2) & " Where Tid='" & Tid & "' And ID" & TypeStr & NowID & " And Verific=1 and  DelTF=0

Order By AddDate"
    If TypeStr=">" Then SqlStr=SqlStr & " asc" else SqlStr=SqlStr & " desc"
    Dim RS:Set RS=Conn.Execute(SqlStr)
    If RS.EOF And RS.BOF Then
     ReplacePrevNext = "No More"
    Else
     ReplacePrevNext = "<a href=""" & KS.GetInfoUrl(KS.C_S(ChannelID,0),RS(2),RS(0),RS(5),RS(4),RS(3),RS(6)) & """ title=""" & RS(1) &

""">" & RS(1) & "</a>"
    End If
    RS.Close:Set RS = Nothing
  End Function

 

 

我要求根据“添加日期,AddDate”来确定上下文顺序。请问如何修改代码?

 

因为我的文章Sql标签是根据添加时间来排序的,只要更改添加时间就可以对文章重新排序,但这两个标签是根据ID来排序,这样就造成,目录的顺序和,{$GetPrevArticle}{$GetNextArticle}产生顺序不一致。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.07813秒 powered by KesionCMS 9.0