WAP中的ASP技术(三)
|
第四节:另一种预订你电影票的方法 现在在奥斯陆,电影院提供了一种基于电话系统的来销售门票,这个系统是很复杂的,还必须给用户一些说明才能指导用户买票, 这里这将给你展示一个简单的让手机用户订票的WAP应用:一个肯定让人叫好的服务。用户不必记住那些烦人的代码,他们能够直接 此应用程序想像的条件是一个电影能够在同一时间在多个电影院上映,一个电影院不同的时间上演不同的电影。 这里我没有过多的考虑错误处理的问题,因为这不是本章节的重点,你喜欢你可以自己加上. 为了简单,我使用了Access 97来做为数据库,当然真正的系统不会用它了,其它的数据库如SQL Server,也不必改动多少代码. 数据库图表 数据库图表 .Movie 和Theater表是显然需要的。Show表用于追踪现在还有多少空位可以出售。 怎样调试这个程序 为了访问这个WAP服务,你需要一个WAP仿真器,这个程序主要是在Nokia Toolkit 1.2上调试,详细情况请查看上一章节。 选择电影 在list表中选择一个电影: 这里是代码: <!--#include file="conn.asp" --><% "send the right MIME type Response.ContentType = "text/vnd.wap.wml" 第一件事就是声明wml,仿真器如何不在正确的地方声明XML,它是不会接受WML的尽管Nokia 7110可以忽略这一点,但是不能保证 <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> 在进入下一个card以前会有一个闪烁的屏幕来显示一个图片WBMP一种新的格式。这个事件是由timer属性决定的,这里我们设置的 <card id="splash" ontimer="#card1" title="Welcome to"> <timer value="50"/> <p align="center"> <br /> <img src="http://edu.cnzz.cn/NewsInfo/pix/logo.wbmp" alt="WAP movies"/> </p> </card> <card id="card1" title="choose a film"> <% sqlQuery = "SELECT [Movie_ID], [title] FROM Movie" set rsMovies = conn.Execute(SQLquery) : %> <p> <select name="movie"> <% Do while not rsMovies.eof response.write("<option value="" & rsMovies("Movie_ID") & "">" & rsMovies("title") & "</option>" & vbcrlf) rsMovies.MoveNext loop %> </select> 这一部分是本文的焦点。从数据库中读出需要的数据显示出来,作为一个asp程序员,这个没有什么特别的,但是就是这个简单的程 <small> <anchor title="next!">Next <go href="step2.asp" method="get"> <postfield name="movie" value="$(movie)" /> </go> </anchor> </small> </p> 表单的提交也可以通过软开关函数(do 和 anchor)来完成。在这里,我是通过简单的内嵌链接来完成的,因为我觉得这样能够使用 |
