标题:ASP+FSO 根据模板批量生成HTML?
取消只看楼主
newkw
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-4-18
结帖率:0
 问题点数:0 回复次数:1 
ASP+FSO 根据模板批量生成HTML?
ASP+FSO 根据模板批量生成HTML?
添加一个型号根据这个型号生成HTML 我已经实现了!但是如何批量生成HTML呢? 数据库里有一些型号是从EXCEL导入了!
数据库 表:cla(产品分类表)
           字段:ID(自动编号) cla_s(分类),typename(这类产品下的型号生产的HTML所存放的文件夹,默认都是STOCK)
       表:Example(HTML的模板表)
           字段:ID(自动编号)  E_memo(HTML的模板)
            表:data(存放所有的产品信息)
           字段:ID(自动编号) cla(产品所属分类) namee(产品型号英文),name(产品型号中文),path(图片存放路径)。。。。

。。。。。。N_Fname(生成的HTNL的文件名,),cpath(生成的HTML文件存放的文件夹)
两个文件
第一个:plhtml.asp 页面里列出了开始ID (statID)结束ID(endID)和HTML的模板(name="Example" size="1")
第二个:aotuhtml.asp   批量生成HTML的文件(代码一会贴出来)
思路:从plhtml.asp 把 (statID)结束ID(endID)和HTML的模板的值传递到aotuhtml.asp页面。然后由aotuhtml.asp页面批量生
成HTML。根据开始ID和结束ID,从第一条开始(就是开始ID statID  ),如果N_Fname为空(为空表示还没有生成HTML),就生成

HTML,然后判断下一条(还是判断N_Fname字段是否为空)。否则,就输出:所有产品都已生成HTML,不用在次生成。

     aotuhtml.asp 代码如下:
   
<!--#include file="include/Conn.asp"-->
<!--#include file="include/char.asp"-->
<!--#include file="include/setup.asp"-->

<%
function makefilename(fname)
  fname = time() & "-" & ztitles
  fname = replace(fname,":","")
  fname = replace(fname,"PM","")
  fname = replace(fname,"AM","")
  fname = replace(fname,"上午","")
  fname = replace(fname,"下午","")

  makefilename=fname & ".html"
end function
dim

zstatID,zendID,zcla,ztitles,ztitlee,picinfo,picarr,strpic,strwidth,strheight,zppz,zfzz,znfz,zslz,zbzz,zpicdemos,zjg,

zpx,zN_Fname
                    
dim sql                       
dim rs                       
dim from

dim sql1                        
dim rs1                        
dim typename1

zstatID=trim(request.Form("statID"))
zendID=trim(request.Form("endID"))
sql="select * from data where id="&zstatID                                                               
   set rs=server.createobject("adodb.recordset")         
   rs.open sql,conn,1,1
   
  zN_Fname=rs("N_Fname")
        
   i=0

if rs.bof and rs.eof then
response.write("<script>alert('对不起,你输入的开始ID和结束ID不正确,请重新输

入!');location.href='javascript:history.back()';</script>")
else
   
  if zN_Fname="" then
  do while not rs.eof
  i=i+1
     zcla=rs("cla")
     ztitles=rs("namee")                    
     ztitlee=rs("names")
     zppz=rs("ppz")                        
     zfzz=rs("fzz")                        
     znfz=rs("nfz")                        
     zslz=rs("slz")                        
     zbzz=rs("bzz")                        
     zpicdemos=rs("picdemos")                  
     zjg=rs("jg")
     zpx=rs("px")
     
    sql1="select * from cla where id="&zcla                                                               
  set rs1=server.createobject("adodb.recordset")         
  rs1.open sql1,conn,1,1
  filepath=rs1("typename")
  set rs = server.CreateObject("ADODB.RecordSet")
           StrSql = "select E_Memo from Example where id="+request("Example")
    set rs = conn.Execute (StrSql)
  fname = makefilename(now())
  pencat=rs("E_Memo")
  pencat=replace(pencat,"H_Title",ztitles)
  pencat=replace(pencat,"H_Ppz",zppz)
  pencat=replace(pencat,"H_Fzz",zfzz)
  pencat=replace(pencat,"H_Nfz",znfz)
  pencat=replace(pencat,"H_Slz",zslz)
  pencat=replace(pencat,"H_bzz",zbzz)
  pencat=replace(pencat,"H_Memo",zpicdemos)
  pencat=replace(pencat,"H_strpic",strpic)  
  
  Set fso = Server.CreateObject("Scripting.FileSystemObject")           
  Set fout = fso.CreateTextFile(server.mappath("..\"&filePath& "\" & fname))  
  fout.WriteLine pencat
  fout.close
    set rs=server.createobject("adodb.recordset")                        
  sql="select * from data where id="&zstatID
  rs.open sql,conn,1,3
  rs("cpath")=filepath
  rs("N_Fname")=fname                                
  rs("date")=now()                                               
  rs.update  
   
  rs.movenext
  loop
  response.write("文件更新完毕!共 <font color=#ff0000>"&i&"</font> 个文件")
  rs1.close                                                     
  set rs1=nothing                                                
  rs.close
  set rs=nothing
  conn.close
  set conn=nothing
  end if
                                            
  rs.close
  set rs=nothing
  conn.close
  set conn=nothing
   
end if
%>
各位大哥 大姐们 帮我看一下,我估计是我的循环那里写错了!帮忙指点一下 谢谢了!我已经搞了3个通宵了!还是不行!
搜索更多相关主题的帖子: 数据库 文件夹 EXCEL 英文 中文 
2011-04-18 14:37
newkw
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-4-18
得分:0 
自己顶上去!!!可能是循环那里错了!帮忙看看
2011-04-18 14:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-337092-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.244647 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved