生成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 中
}
}
%>