QZone Editor .dump{}
现在简单介绍下 湖南农业大学开源软件协会 www.hauos.cn 这个网站;这个网站主要是一个新闻发布系统 其中我加了留言板进去 ,会员注册的功能再完善中 栏目可以随时设置 导航栏也是自动生成的
现在对于他的新闻调用模块进行解读 ::
基本的现实模块 以表格的形式 这个单独一个栏目的调用
<table width="326" border="0" cellpadding="0" cellspacing="1" bgcolor="#AEE1DC" style="margin-top:20px;">
<tr>
<td width="324"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/index5_37.gif">
<tr>
<td width="10"> </td>
<td align="left" class="black14b"><%=GetClassName(107)%></td>
<td align="right"><a href="list.asp?id=107">更多>></a></td>
<td width="35" align="right"><img src="images/index5_39.gif" width="35" height="29" /></td>
</tr>
</table></td>
</tr>
<tr>
<td height="250" valign="top" bgcolor="#FFFFFF" class="gray14"><%Call Article_List(107,10,17,False,False,"",False,"")%></td>
</tr>
</table>
</td>
<%Call Article_List(107,10,17,False,False,"",False,"")%> 这是 调用新闻 在vbs.asp 中有函数的定义
<%
Private Sub Article_List(ClassID,TopN,LeftN,IsCommend,DisTime,TimeFormat,DisHits,OrderType) ‘首先定义函数
Sql="select top " & TopN & " Id,Title,TitleColor,TitleURL,AddTime,Hits from Article where ChannelID=1 and IsPass=1 and IsDelete=0"
If ClassID<>"" Then Sql=Sql & " and SortPath like '%," & ClassID & ",%'"
If IsCommend Then Sql=Sql & " and IsCommend=1"
Select Case OrderType
Case "hot"
Sql = Sql & " order by Hits desc,AddTime desc,ID desc" 以点击数 增加时间 ID 号 降序排列
Case "rnd"
Randomize
Sql = Sql & " order by Rnd(-(ID+"&Rnd()&")),ID desc"
Case "new"
Sql = Sql & " order by AddTime desc,ID desc"
Case Else
Sql = Sql & " order by IsTop desc,IsCommend desc,AddTime desc,ID desc"
End Select
Rs.Open Sql,Conn,0,1
Do While Not Rs.Eof
%>·<%=Format_TitleURL(Rs("ID"),Rs("Title"),Rs("TitleColor"),Rs("TitleURL"),LeftN)%><%If DisTime Then%><font color="#999999"><%=Format_Time(Rs("AddTime"),TimeFormat)%></font><%End If%><%If DisHits Then%> <font color="#999999">查看:<%=Rs("Hits")%></font><%End If%><br />
<%
Rs.MoveNext
Loop
Rs.Close
End Sub
%>
这个函数 将会对传进来的参数进行判断 其中有参数:栏目ID,新闻条数,显示字数,是否推荐,是否显示时间,时间格式,是否显示点击数,排序元素
数据库用不同的字段记录相关信息 然后对于不同的参数选择那些该显示 那些不显示
Rs.Open Sql,Conn,0,1
Do While Not Rs.Eof
%>·<%=Format_TitleURL(Rs("ID"),Rs("Title"),Rs("TitleColor"),Rs("TitleURL"),LeftN)%><%If DisTime Then%><font color="#999999"><%=Format_Time(Rs("AddTime"),TimeFormat)%></font><%End If%><%If DisHits Then%> <font color="#999999">查看:<%=Rs("Hits")%></font><%End If%><br />
<%
Rs.MoveNext
Loop
这里就每一条新闻记录就以一行显示
Format_TitleURL的代码为
Function Format_TitleURL(ID,Title,TitleColor,TitleURL,LeftN)
oTitle = LeftX(Title,LeftN * 2) 显示前多少个字符
If TitleColor<>"" Then oTitle = "<font color=""" & TitleColor & """>" & oTitle & "</font>"
If TitleURL="" Then
Target = ""
TitleURL = "show.asp?id=" & ID
Else
Target = "target=""_blank"""
End If
Format_TitleURL = "<a href=""" & TitleURL & """" & Target & " title=""" & Server.HTMLEncode(Title) & """>" & oTitle & "</a>"
End Function
将标题以连接的形式输出 然后 就构成了
这样就貌似分行显示了