生成HTML的方法
生成HTML的方法实在是太多了,我来讲讲我现在要讲的一个方法,想好一个从头到尾的思路,拿一个新闻系统作为实例.powered by 25175.net
假设的两个表:news(ID,title,document,time),news_content(ID,news_id,username,document,time) 文件名:我们将news的主键(ID)作为生成.HTML的文件名
新建news_list.txt <a href="[$news->id].html" target="_blank">[$news->title]</a> [$news->time]<br/>
新建page.txt <div align="center"><a href="news_list_[$page->first].html">第一页</a> <a href="news_list_[$page->prev].html">上一页</a> <a href="news_list_[$page->next].html">下一页</a> <a href="news_list_[$page->last].html">最后页</a></div>
新建news_content_list.txt <tr> <td style="color:green;">[$news_content->username]</td> <td>[$news_content->document]</td> <td style="color:red;">[$news_content->time]</td> </tr>
新建news_document.txt <html> <head> </head> <body> ... <h1 style="color:red;" align="center"><b>[$news->title]</b></h1> <div align="center" style="color:green;">[$news->time]</div> <div>[$news->document]</div> ... 相关评论: [$news_content] </body> </html>
分页列表:
<% function MPage(rs) { var pagesize=15; var totalpage=parseInt(con.Execute("select count(ID) from ("+rs.Source+")").Fields(0)); totalpage=totalpage%pagesize==0?parseInt(totalpage/pagesize):parseInt(totalpage/pagesize)+1; var Template=""; //读文件Template.txt到Template变量中 /* <html> <head> </head> <body> ... <div>[$news_list]</div> ... <div>[$page]</div> ... [$news_content] </body> </html> */ var news_list=""; //读文件news_list.txt到news_list变量中 /* <a href="[$news->id].html" target="_blank">[$news->title]</a> [$news->time]<br/> */ var page=""; //读文件page.txt到news_list变量中 /* <div align="center"> <a href="news_list_[$page->first].html">第一页</a> <a href="news_list_[$page->prev].html">上一页</a> <a href="news_list_[$page->next].html">下一页</a> <a href="news_list_[$page->last].html">最后页</a> </div> */ for(var i=0,pos=1;i<totalpage;i++,pos++) { if(pos!=1) {rs.MoveFirst();rs.Move((pos-1)*pagesize);} var ostring=Template; var otemp=""; for(var j=0;j<pagesize;j++) { var temp=news_list; temp=temp.replace(/\[\$news->id\]/,String(rs.Fields("id"))); temp=temp.replace(/\[\$news->title\]/,String(rs.Fields("title"))); temp=temp.replace(/\[\$news->time\]/,String(rs.Fields("time"))); otemp+=temp; } ostring=ostring.replace(/\[\$news_list\]/,String(otemp));
otemp=page; otemp=otemp.replace(/[$page->first]/,String(1)); otemp=otemp.replace(/[$page->prev]/,String(pos-1)); otemp=otemp.replace(/[$page->next]/,String(pos+1)); otemp=otemp.replace(/[$page->last]/,String(totalpage)); ostring=ostring.replace(/\[\$news_list\]/,String(otemp)); var filename="news_list_"+pos+".html"; //将 ostring 的值写到文件 filename 中 } } %>
|