[原创]jb51生成所有页面的效果+分页生成

复制代码 代码如下:

  <!--#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

  %>