升级后,固顶文章都显示在最前面了

  • 来源:动易网络 作者:动易CMS 发布时间:2008-05-03阅读次数:

问题:升级后,固顶文章都显示在最前面了?

回复:找到此文件打开:Include/PowerEasy.Article.asp

以下是引用片段:

Private Function GetSqlStr(iChannelID, arrClassID, IncludeChild, iSpecialID, IsHot, IsElite, Author, DateNum, OrderType, ShowClassName, IsPicUrl)
Dim strSql, IDOrder
iSpecialID = PE_CLng(iSpecialID)
If iSpecialID > 0 Then
strSql = strSql %26amp; " from PE_InfoS I inner join (PE_Article A left join PE_Class C on A.ClassID=C.ClassID) on I.ItemID=A.ArticleID"
Else
strSql = strSql %26amp; " from PE_Article A left join PE_Class C on A.ClassID=C.ClassID"
End If
strSql = strSql %26amp; " where A.Deleted=" %26amp; PE_False %26amp; " and A.Status=3 and A.ReceiveType=0"
If iChannelID > 0 Then
strSql = strSql %26amp; " and A.ChannelID=" %26amp; iChannelID
End If
If arrClassID <> "0" Then
If InStr(arrClassID, ",") = 0 And IncludeChild = True Then
Dim trs
Set trs = Conn.Execute("select arrChildID from PE_Class where ClassID=" %26amp; PE_CLng(arrClassID) %26amp; "")
If trs.BOF And trs.EOF Then
arrClassID = "0"
Else
If IsNull(trs(0)) Or Trim(trs(0)) = "" Then
arrClassID = "0"
Else
arrClassID = trs(0)
End If
End If
Set trs = Nothing
End If

If InStr(arrClassID, ",") > 0 Then
strSql = strSql %26amp; " and A.ClassID in (" %26amp; FilterArrNull(arrClassID, ",") %26amp; ")"
Else
If PE_CLng(arrClassID) > 0 Then strSql = strSql %26amp; " and A.ClassID=" %26amp; PE_CLng(arrClassID)
End If
End If
If iSpecialID > 0 Then
strSql = strSql %26amp; " and I.ModuleType=1 and I.SpecialID=" %26amp; iSpecialID
End If
If IsHot = True Then
strSql = strSql %26amp; " and A.Hits>=" %26amp; HitsOfHot
End If
If IsElite = True Then
strSql = strSql %26amp; " and A.Elite=" %26amp; PE_True
End If
If Trim(Author) <> "" Then
strSql = strSql %26amp; " and A.Author='" %26amp; Author %26amp; "'"
End If
If DateNum > 0 Then
strSql = strSql %26amp; " and DateDiff(" %26amp; PE_DatePart_D %26amp; ",A.UpdateTime," %26amp; PE_Now %26amp; ")<" %26amp; DateNum
End If

If IsPicUrl = True Then
strSql = strSql %26amp; " and A.DefaultPicUrl<>'' "
End If

strSql = strSql %26amp; " order by "
Select Case OrderType
Case 1
strSql = strSql %26amp; "A.OnTop " %26amp; PE_OrderType %26amp; ","
Case 2
strSql = strSql %26amp; ""
Case 3
strSql = strSql %26amp; "A.UpdateTime desc,"
Case 4
strSql = strSql %26amp; "A.UpdateTime asc,"
Case 5
strSql = strSql %26amp; "A.Hits desc,"
Case 6
strSql = strSql %26amp; "A.Hits asc,"
Case 7
strSql = strSql %26amp; "A.CommentCount desc,"
Case 8
strSql = strSql %26amp; "A.CommentCount asc,"
Case Else
strSql = strSql %26amp; "A.OnTop " %26amp; PE_OrderType %26amp; ","
End Select
If OrderType = 2 Then
IDOrder = "asc"
Else
IDOrder = "desc"
End If
If iSpecialID > 0 Then
strSql = strSql %26amp; "I.InfoID " %26amp; IDOrder
Else
strSql = strSql %26amp; "A.ArticleID " %26amp; IDOrder
End If
GetSqlStr = strSql
End Function


改为:

以下是引用片段:

Private Function GetSqlStr(iChannelID, arrClassID, IncludeChild, iSpecialID, IsHot, IsElite, Author, DateNum, OrderType, ShowClassName, IsPicUrl)
Dim strSql, IDOrder
iSpecialID = PE_CLng(iSpecialID)
If iSpecialID > 0 Then
strSql = strSql %26amp; " from PE_InfoS I inner join (PE_Article A left join PE_Class C on A.ClassID=C.ClassID) on I.ItemID=A.ArticleID"
Else
strSql = strSql %26amp; " from PE_Article A left join PE_Class C on A.ClassID=C.ClassID"
End If
strSql = strSql %26amp; " where A.Deleted=" %26amp; PE_False %26amp; " and A.Status=3 and A.ReceiveType=0"
If iChannelID > 0 Then
strSql = strSql %26amp; " and A.ChannelID=" %26amp; iChannelID
End If
If arrClassID <> "0" Then
If InStr(arrClassID, ",") = 0 And IncludeChild = True Then
Dim trs
Set trs = Conn.Execute("select arrChildID from PE_Class where ClassID=" %26amp; PE_CLng(arrClassID) %26amp; "")
If trs.BOF And trs.EOF Then
arrClassID = "0"
Else
If IsNull(trs(0)) Or Trim(trs(0)) = "" Then
arrClassID = "0"
Else
arrClassID = trs(0)
End If
End If
Set trs = Nothing
End If

If InStr(arrClassID, ",") > 0 Then
strSql = strSql %26amp; " and A.ClassID in (" %26amp; FilterArrNull(arrClassID, ",") %26amp; ")"
Else
If PE_CLng(arrClassID) > 0 Then strSql = strSql %26amp; " and A.ClassID=" %26amp; PE_CLng(arrClassID)
End If
End If
If iSpecialID > 0 Then
strSql = strSql %26amp; " and I.ModuleType=1 and I.SpecialID=" %26amp; iSpecialID
End If
If IsHot = True Then
strSql = strSql %26amp; " and A.Hits>=" %26amp; HitsOfHot
End If
If IsElite = True Then
strSql = strSql %26amp; " and A.Elite=" %26amp; PE_True
End If
If Trim(Author) <> "" Then
strSql = strSql %26amp; " and A.Author='" %26amp; Author %26amp; "'"
End If
If DateNum > 0 Then
strSql = strSql %26amp; " and DateDiff(" %26amp; PE_DatePart_D %26amp; ",A.UpdateTime," %26amp; PE_Now %26amp; ")<" %26amp; DateNum
End If

If IsPicUrl = True Then
strSql = strSql %26amp; " and A.DefaultPicUrl<>'' "
End If

strSql = strSql %26amp; " order by A.OnTop " %26amp; PE_OrderType %26amp; ","
Select Case PE_CLng(OrderType)
Case 1, 2

Case 3
strSql = strSql %26amp; "A.UpdateTime desc,"
Case 4
strSql = strSql %26amp; "A.UpdateTime asc,"
Case 5
strSql = strSql %26amp; "A.Hits desc,"
Case 6
strSql = strSql %26amp; "A.Hits asc,"
Case 7
strSql = strSql %26amp; "A.CommentCount desc,"
Case 8
strSql = strSql %26amp; "A.CommentCount asc,"
Case Else

End Select
If OrderType = 2 Then
IDOrder = "asc"
Else
IDOrder = "desc"
End If
If iSpecialID > 0 Then
strSql = strSql %26amp; "I.InfoID " %26amp; IDOrder
Else
strSql = strSql %26amp; "A.ArticleID " %26amp; IDOrder
End If
GetSqlStr = strSql
End Function