jb51生成所有页面的效果+分页生成 原创
(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )
复制代码 代码如下:
<!--#include file="conn.asp"-->
<style type="text/css">
body,td,th{
color:#000000;
font-size:14px;
background-color:#D6DFF7;
}
</style>
<%
dim rs
set rs=server.CreateObject("adodb.recordset")
if request("type")="date" then
yearstr=request("selyear")
monstr=request("selmonth")
daystr=request("selday")
if daystr<>"" then
theymd=yearstr&"-"&monstr&"-"&daystr
sql="select id from news where datetime like '"&theymd&"%' order by datetime desc"
else
theymd=yearstr&"-"&monstr&"-"
sql="select id from news where datetime like '"&theymd&"%' order by datetime desc"
end if
elseif request("type")="new" then
topnew=request("newcount")
if topnew<>"" then
topnew=cint(topnew)
sql="select top "&topnew&" id from news order by datetime desc"
end if
elseif request("type")="nosh" then
sql="select id from news where shengcheng=0"
elseif request("type")="all" then
sql="select id from news order by id desc"
end if
if sql<>"" then
response.write sql
response.write"<center><b><font color=""#FF0000"">正在生成文章内容页的Html页,请等待......</font></b><span id=showImport></span></center><IE:Download ID=""oDownload"" STYLE=""behavior:url(#default#download)"" />"
if request("p")<>"" then
p=cint(request("p"))
else
p=1
end if
MaxPerPage=100
rs.open sql,conn,1,1
if not rs.eof then
rs.pagesize=MaxPerPage '得到每页数
mpage=rs.pagecount '得到总页数
allshu=rs.recordcount '得到总数
rs.move (p-1)*MaxPerPage
do while not rs.eof
i=i+1
call MakeHtml()
if i>=MaxPerPage then exit do
rs.movenext
loop
end if
rs.close
Sshu=MaxPerPage*p-MaxPerPage+1 '当前已经生成的数量
Tshu=Sshu+i-1 '已生成生成的
if allshu<Sshu then
set rs=nothing
conn.close
set conn=nothing
response.redirect "makehtmlall.asp?type=ok"&"&shu="&request("shu")&"&D="&d&"&p="&p+1
response.end
else
%>
<meta http-equiv="refresh" content="0;url=makehtmlall.asp?type=<%=request("type")%>&newcount=<%=request("newcount")%>&selyear=<%=request("selyear")%>&selmonth=<%=request("selmonth")%>&selday=<%=request("selday")%>&shu=<%=Tshu%>&D=<%=D%>&p=<%=p+1%>">
<div align="center"><br>正在生成:第(<%=Sshu%>/<%=Tshu%>)个 共<%=allshu%>个</div>
<%
end if
Sub MakeHtml()
%>
<script>function onDownloadDone(downDate){showImport.innerHTML=downDate}oDownload.startDownload('makehtml.asp?news_id=<%=rs("id")%>',onDownloadDone)
</script>
<%
end Sub
'-----------------------sql为空-------------------
else
set rstotal=conn.execute("select count(*) from news")
nowtotal=rstotal(0)
rstotal.close
set rstotal=nothing
set nosh=conn.execute("select count(*) from news where shengcheng=0")
nownosh=nosh(0)
nosh.close
set nosh=nothing
'-------------------
if request("type")="ok" then
%><div align="center">
<br><br>操作成功:共生成页面
<font color="#FF0000"><%=request("shu")%></font>个,完成时间<%=now()%>
</center>
<%
end if
'-------------------------
%>
<table width="511" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#FFFFFF">
<form action="makehtmlall.asp?type=date" method="post"><tr>
<td width="99" height="25" nowrap bgcolor="#D6DFF7">按日期生成:</td>
<td width="369" nowrap bgcolor="#D6DFF7"><select name="selyear">
<%
for yearstr=2001 to year(date)
if yearstr=year(date) then
response.write "<option value="&yearstr&" selected>"&yearstr&"</option>"
else
response.write "<option value="&yearstr&">"&yearstr&"</option>"
end if
next
%>
</select>-
<select name="selmonth">
<%
for monstr=1 to 12
if monstr=month(date) then
response.write "<option value="&monstr&" selected>"&monstr&"</option>"
else
response.write "<option value="&monstr&">"&monstr&"</option>"
end if
next
%>
</select>-
<select name="selday">
<option value=""""> </option>
<%
for daystr=1 to 31
if daystr=day(date) then
response.write "<option value="&daystr&" selected>"&daystr&"</option>"
else
response.write "<option value="&daystr&">"&daystr&"</option>"
end if
next
%>
</select>
<input type="submit" name="Submit" value="生成"></td>
</tr>
</form>
<form action="makehtmlall.asp?type=new" method="post">
<tr>
<td height="25" nowrap bgcolor="#D6DFF7">按最新的生成:</td>
<td nowrap bgcolor="#D6DFF7">生成最新的
<input name="newcount" type="text" id="newcount" size="10">
个文章
<input type="submit" name="Submit2" value="生成"></td>
</tr>
</form>
<form action="makehtmlall.asp?type=nosh" method="post">
<tr>
<td height="25" nowrap bgcolor="#D6DFF7">没有生成过的:</td>
<td nowrap bgcolor="#D6DFF7">当前需要生成文章[<font color="red"><%=nownosh%></font>]
<input type="submit" name="Submit4" value="生成"></td>
</tr>
</form>
<form action="makehtmlall.asp?type=all" method="post">
<tr>
<td height="25" nowrap bgcolor="#D6DFF7">生成全部:</td>
<td nowrap bgcolor="#D6DFF7">共[<font color="red"><%=nowtotal%></font>]
<input type="submit" name="Submit3" value="生成"></td>
</tr>
</form>
</table>
<%
end if
%>
<!--#include file="conn.asp"-->
<style type="text/css">
body,td,th{
color:#000000;
font-size:14px;
background-color:#D6DFF7;
}
</style>
<%
dim rs
set rs=server.CreateObject("adodb.recordset")
if request("type")="date" then
yearstr=request("selyear")
monstr=request("selmonth")
daystr=request("selday")
if daystr<>"" then
theymd=yearstr&"-"&monstr&"-"&daystr
sql="select id from news where datetime like '"&theymd&"%' order by datetime desc"
else
theymd=yearstr&"-"&monstr&"-"
sql="select id from news where datetime like '"&theymd&"%' order by datetime desc"
end if
elseif request("type")="new" then
topnew=request("newcount")
if topnew<>"" then
topnew=cint(topnew)
sql="select top "&topnew&" id from news order by datetime desc"
end if
elseif request("type")="nosh" then
sql="select id from news where shengcheng=0"
elseif request("type")="all" then
sql="select id from news order by id desc"
end if
if sql<>"" then
response.write sql
response.write"<center><b><font color=""#FF0000"">正在生成文章内容页的Html页,请等待......</font></b><span id=showImport></span></center><IE:Download ID=""oDownload"" STYLE=""behavior:url(#default#download)"" />"
if request("p")<>"" then
p=cint(request("p"))
else
p=1
end if
MaxPerPage=100
rs.open sql,conn,1,1
if not rs.eof then
rs.pagesize=MaxPerPage '得到每页数
mpage=rs.pagecount '得到总页数
allshu=rs.recordcount '得到总数
rs.move (p-1)*MaxPerPage
do while not rs.eof
i=i+1
call MakeHtml()
if i>=MaxPerPage then exit do
rs.movenext
loop
end if
rs.close
Sshu=MaxPerPage*p-MaxPerPage+1 '当前已经生成的数量
Tshu=Sshu+i-1 '已生成生成的
if allshu<Sshu then
set rs=nothing
conn.close
set conn=nothing
response.redirect "makehtmlall.asp?type=ok"&"&shu="&request("shu")&"&D="&d&"&p="&p+1
response.end
else
%>
<meta http-equiv="refresh" content="0;url=makehtmlall.asp?type=<%=request("type")%>&newcount=<%=request("newcount")%>&selyear=<%=request("selyear")%>&selmonth=<%=request("selmonth")%>&selday=<%=request("selday")%>&shu=<%=Tshu%>&D=<%=D%>&p=<%=p+1%>">
<div align="center"><br>正在生成:第(<%=Sshu%>/<%=Tshu%>)个 共<%=allshu%>个</div>
<%
end if
Sub MakeHtml()
%>
<script>function onDownloadDone(downDate){showImport.innerHTML=downDate}oDownload.startDownload('makehtml.asp?news_id=<%=rs("id")%>',onDownloadDone)
</script>
<%
end Sub
'-----------------------sql为空-------------------
else
set rstotal=conn.execute("select count(*) from news")
nowtotal=rstotal(0)
rstotal.close
set rstotal=nothing
set nosh=conn.execute("select count(*) from news where shengcheng=0")
nownosh=nosh(0)
nosh.close
set nosh=nothing
'-------------------
if request("type")="ok" then
%><div align="center">
<br><br>操作成功:共生成页面
<font color="#FF0000"><%=request("shu")%></font>个,完成时间<%=now()%>
</center>
<%
end if
'-------------------------
%>
<table width="511" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#FFFFFF">
<form action="makehtmlall.asp?type=date" method="post"><tr>
<td width="99" height="25" nowrap bgcolor="#D6DFF7">按日期生成:</td>
<td width="369" nowrap bgcolor="#D6DFF7"><select name="selyear">
<%
for yearstr=2001 to year(date)
if yearstr=year(date) then
response.write "<option value="&yearstr&" selected>"&yearstr&"</option>"
else
response.write "<option value="&yearstr&">"&yearstr&"</option>"
end if
next
%>
</select>-
<select name="selmonth">
<%
for monstr=1 to 12
if monstr=month(date) then
response.write "<option value="&monstr&" selected>"&monstr&"</option>"
else
response.write "<option value="&monstr&">"&monstr&"</option>"
end if
next
%>
</select>-
<select name="selday">
<option value=""""> </option>
<%
for daystr=1 to 31
if daystr=day(date) then
response.write "<option value="&daystr&" selected>"&daystr&"</option>"
else
response.write "<option value="&daystr&">"&daystr&"</option>"
end if
next
%>
</select>
<input type="submit" name="Submit" value="生成"></td>
</tr>
</form>
<form action="makehtmlall.asp?type=new" method="post">
<tr>
<td height="25" nowrap bgcolor="#D6DFF7">按最新的生成:</td>
<td nowrap bgcolor="#D6DFF7">生成最新的
<input name="newcount" type="text" id="newcount" size="10">
个文章
<input type="submit" name="Submit2" value="生成"></td>
</tr>
</form>
<form action="makehtmlall.asp?type=nosh" method="post">
<tr>
<td height="25" nowrap bgcolor="#D6DFF7">没有生成过的:</td>
<td nowrap bgcolor="#D6DFF7">当前需要生成文章[<font color="red"><%=nownosh%></font>]
<input type="submit" name="Submit4" value="生成"></td>
</tr>
</form>
<form action="makehtmlall.asp?type=all" method="post">
<tr>
<td height="25" nowrap bgcolor="#D6DFF7">生成全部:</td>
<td nowrap bgcolor="#D6DFF7">共[<font color="red"><%=nowtotal%></font>]
<input type="submit" name="Submit3" value="生成"></td>
</tr>
</form>
</table>
<%
end if
%>
下一篇:asp防止刷新功能实现代码