⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bbslist.asp

📁 asp开发 asp开发 asp开发 asp开发
💻 ASP
字号:
<%option explicit%>
<!--#INCLUDE FILE="odbc_connection.asp"-->
<!--#INCLUDE FILE="function.asp"-->
<!--#INCLUDE FILE="config.asp"-->
<html>
<head>
	<title>bbs论坛</title>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
	<link href="general.css" rel="stylesheet" type="text/css">
</head>

<body>
	<%
	'--------------------------------------------------------------------------------------
	'下面一段分别获取本页面需要的三个变量,首先获取论坛栏目编号变量
	Dim forum_id                              
	If Request.QueryString("forum_id")<>"" Then 
		'这表示从首页进入本栏目
		forum_id=Cint(Request.QueryString("forum_id")) 
		Session("forum_id")=forum_id
	Else
		'这表示其它情况下返回一个栏目
		forum_id=Session("forum_id")
	End If

	'获取数据页码变量
	Dim page_no                              
	If Request.QueryString("forum_id")<>"" Then
		'这表示从首页进入本栏目,应该显示第1页
		page_no=1
		Session("page_no")=page_no
	Elseif Request.QueryString("page_no")<>"" Then 
		'这表示选择了页码,所以显示指定页码
		page_no=Cint(Request.QueryString("page_no")) 
		Session("page_no")=page_no
	Elseif varType(Request.Form("keyword"))=8 Then
		'这表示客户进行了查询,或者输入了内容,或者是空字符串,空字符串表示查询全部
		'此时显示查询结果的第1页
		page_no=1                      
		Session("page_no")=page_no 
	Else
		'其它情况下应该回到原来的页面,所以从Session中读取
		page_no=Session("page_no")
	End If

	'获取查找关键词和查找字段变量
	Dim keyword,field
	If Request.QueryString("forum_id")<>"" Then
		'这种情况表示从首页进入本栏目,将所有查找条件刷新
		keyword=""
		field="name"
		Session("keyword")=keyword
		Session("name")=field
	ElseIf Trim(Request.Form("keyword"))<>"" Then
		'这种情况表示客户提交了查询关键字,令keyword为提交的值
		keyword=Request.Form("keyword")
		field=Request.Form("field")
		Session("keyword")=keyword
		Session("field")=field
	Elseif Trim(Request.Form("keyword"))="" And varType(Request.Form("keyword"))=8 Then
		'这种情况表示客户提交了一个空字符串,所以令keyword="",field为默认的name字段
		keyword=""
		field="name"
		Session("keyword")=keyword
		Session("name")=field
	Else
		'其它情况下从Session中读取
		keyword=Session("keyword")
		field=Session("field")
	End If
	'--------------------------------------------------------------------------------------
	%>

	<h1 align="center">BBS论坛</h1>
	<table width="708" border="1" bordercolorlight="#80BFFF" bordercolordark="#80BFFF" cellspacing="0" cellpadding="0" bgcolor="#80BFFF" align="center">
		<tr>
			<td width="100%">
				 <a href="addform.asp"><font color="#FFFFFF">【发布新贴】</font></a>
				 <a href="index.asp"><font color="#FFFFFF">【返回首页】</font></a>
			</td>   
		</tr>   
	</table>

	<table border="1" width="700" height="400" bordercolorlight="#80BFFF" cellspacing="0" cellpadding="2" bordercolordark="#80BFFF" bgcolor="#FFFFFF"  align="center"> 
		<tr> 
			<td width="100%" valign="top" align="center"> 
				<form action="bbslist.asp" method="post">
					<p>查询关键词:
					<input type="text" name="keyword" size="15" maxlength="20" class="inputbox" value="<%=keyword%>">(空表示全部)&nbsp;&nbsp;
					所属字段:
					<Select  name="field" class="inputbox">
					<option value="title" <% If field="title" Then Response.Write "Selected"%>>主题</a>
					<option value="body" <% If field="body" Then Response.Write "Selected"%>>内容</a>
					<option value="user_id" <% If field="user_id" Then Response.Write "Selected"%>>作者</a>
					</Select>
					<input type="submit" value="开始查询" name="querysumbit" class="inputbutton">	
				</form>
				
				<table border="1" cellpadding="2" bgcolor="#E1F3F4" cellspacing="0" style="border-collapse: collapse" bordercolor="#80BFFF" width="700" id="AutoNumber1" >
					<tr bgcolor="#C5EDE7" height="23" align="center">    
						<td width="10%">编号</td>  
						<td width="70%">主题</td>
						<td width="10%">点击</td>
						<td width="10%">作者</td>
					</tr>  
					<%
					'下面分页显示有关内容
					dim rs,strSql
					'下面根据keyword来判断准备显示的内容
					If keyword="" Then
						strSql="Select * From bbs Where forum_id=" & forum_id & " Order By first_id Desc,father_id Asc"
					Else
						'这里要调用函数
						strSql="Select * From bbs Where forum_id=" & forum_id & condition(keyword,field) & " Order By first_id Desc,father_id Asc"
					End If
					Set rs=Server.CreateObject("ADODB.Recordset")
					rs.Open strSql,db,1                          '因为要分页显示,所以用键盘指针
					'下面查询记录,如果非空就分页显示记录
					If Not rs.Bof And Not rs.Eof Then   
						'以下主要为了分页显示
						rs.PageSize=PageSize                      '设置每页显示多少条记录,从config.asp中读取
						dim page_total                           
						page_total=rs.PageCount                   'page_total会返回总页数,将在下面输出页码时用到
						rs.AbsolutePage=page_no                   '设置当前显示第几页,这里用到了传过来的page_no。
						Dim I
						I=PageSize                          'I 用来控制显示当前页记录,注意这里和rs.PageSize要一致。
						Do While Not rs.Eof And I>0              '循环直到当前页结束或记录集结尾
							I=I-1                                '每显示一条,I减1,当变成0时,表示本页结束
							%>
							<tr bgcolor="#E1F3F4" height="23" valign="middle">   
								<td align="center"><%=rs("id")%></td>  
								<td align="left">
									<%=viewnull(rs("father_id"))%>
									<a href="particular.asp?id=<%=rs("id")%>" title="发表时间:<%=rs("submit_date")%>"><%=rs("title")%></a>
								</td>
								<td align="center"><%=rs("hits")%></td>
								<td align="center"><a href="mailto:<%=rs("user_email")%>"><%=rs("user_id")%></a></td>  
							</tr>  
							<%                
							rS.MoveNext                
						Loop
					End If
					'关闭对象
					db.Close
					Set db=Nothing
					%>   
				</table>  
				<%
				'--------------------------------------------------------------------------------------
				'这一段输出页数信息,从1到总页数Page_total循环。Page_total由上面分页显示决定。
				Response.Write "<p align='center'><b><font color='#CC0066'>" & page_no & "/" & page_total & "</b></font>页&nbsp;"
				'列出同往前十页的链接,为当前最小值减1
				Dim numTemp
				numTemp=minPage(page_no,page_total)-1
				If numTemp>=1 Then
					Response.Write "<a href='bbslist.asp?page_no=" & numTemp & "'>前10页</a>&nbsp"
				End If
				'列出当前10页的链接,这里调用函数
				For I=minPage(page_no,page_total) To maxPage(page_no,page_total)
					If I=page_no Then                        
						Response.Write "<b><font color='#CC0066'>" & I & "</font></b>&nbsp;"
					Else
						Response.Write "<a href='bbslist.asp?page_no=" & I & "'>" & I & "</a>&nbsp"
					End If
				Next
				'列出前往后十页的链接,为当前最大值加1
				numTemp=maxPage(page_no,page_total)+1
				If numTemp<page_total Then
					Response.Write "<a href='bbslist.asp?page_no=" & numTemp & "'>后10页</a>&nbsp"
				End If
				%>

			</td>  
		</tr>  
	</table>  

	<table width="708" border="1" bordercolorlight="#80BFFF" bordercolordark="#80BFFF" cellspacing="0" cellpadding="0" bgcolor="#80BFFF" align="center">
		<tr>
			<td width="100%">
				 <a href="addform.asp?forum_id=<%=forum_id%>"><font color="#FFFFFF">【发布新贴】</font></a>
				 <a href="index.asp"><font color="#FFFFFF">【返回首页】</font></a>
			</td>   
		</tr>   
	</table>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -