互联网观察 网站建设 网站运营 网络创业 电子商务 建站软件 建站软件教程 网站开发 网页制作 收藏本站
建站常识 | 域名 | 主机 | 网上开店 | 搜索引擎优化 | 网站推广 | 网络赚钱 | 站长经验 | 个人建站 | 网站设计 | 网页特效 | wap网站

WAP中的ASP技术之六


  选择电影院和上映时间

  这部分代码让用户来选择看什么时间的电影,所有的记录根据前一页所选的电影来决定。在这里来选择电影院和上映时间.

  movie_id = Request(\"movie\")

  sqlQuery = \"SELECT title FROM movie WHERE Movie_id = \" & movie_id

  set rsMovie = conn.Execute(sqlQuery)

  movie_title = rsMovie(\"title\")

  :

  sqlQuery = \"SELECT [name], [time], [show_id] FROM Show, Theater \" &_

  \"WHERE show.movie_id = \" & movie_id &_

  \" AND theater.theater_id = show.theater_id\"

  set rsShows = conn.Execute(SQLquery)

  如果你仔细研究了这个代码,你就会想用Session来保存电影信息,再在这页进行查询更简单。同样很不幸,Session是需要cookies的支持,虽说在WAP规范中也是被支持的,但是在Nokia 7110中也是不被支持,这就是说现在我们还不能把session用在WAP服务中。

  下面有一些有趣的事情:

  < select name='show' >

  < %

  Do while not rsShows.eof

  response.write(\"< option value='\" & rsShows(\"show_id\") & \"' >\" & Left(rsShows(\"name\"),cutter) & \" (\" & rsShows(\"time\") & \")\" & \"< /option >\" &vbcrlf)

  rsShows.MoveNext

  loop % >

  < /select >

  如果你对cutter变量感到疑惑,那么就有一些事让你哭笑不得

  Dim cutter

  if InStr(Request.ServerVariables(\"HTTP_USER_AGENT\"), \"Nokia7110\") then

  cutter = 12

  else

  cutter = 7

  end if

  这段代码根据不同的设备来显示选项。我们有充足的理由的这样做,Nokia Toolit 1.2仿真器喜欢把砍掉我的的选项到只有几个字符,而我们要显示电影名字和上映时间,所以我们就不得不减少电影名字的字符。在真的手机中不会出现这种问题,所以我们就必须先判断设备的类型.

  一旦我有机会(飞刀我很穷,没有钱,这是仅仅是遥远的梦想.......)在真的Nokia 7110上测试我的代码,我们会立即感到我们有比我们想像更大的屏幕。实际上,有些电影院的名字很古怪,而且这些长名字会占用很大屏幕空间,我们没有必要浪费这些显示空间,尽量把这些名字简化。

  票

  下一步就是让用户选择需要的票数.这部分的代码很像其它的部分。我将从数据库中查询相同的数据,因为Session不能在真正的WAP手机中使用,所以我必须对有些内容进行确认,看看是否还有座位出售.

  SQLquery = \"SELECT * FROM show WHERE Show_id = \" & show_id

  set rsShow = conn.Execute(SQLquery)

  :

  seats = rsShow(\"free_seats\")

  :

  if seats = 0 then

  Response.write(\"Sorry, no more seats\")

  rsShow.close

  set rsShow = nothing

  Response.write(\"< /p >< /card >< /wml >\")

  Response.end

  else

  if seats > 6 then 'book up to 6 tickets or max available

  max_seats=6

  else

  max_seats = seats

  end if

  end if

  % >

  < %=movie_title% > at < % =theater_name% >

  < select name='ticket' >

  < %

  dim i

  i = 1

  Do while i < = max_seats

  response.write(\"< option value='\" & i & \"' >\" & i & \" ticket(s)\" & \"< /option >\" &vbcrlf)

  i = i + 1

  loop % >

  < /select >

  储存票数

  现在我们已经有了所有需要的数据了,我们得把它们保存起来:

  tickets = Request(\"ticket\")

  :

  free_seats = rsShow(\"free_seats\")

  :

  free_seats = free_seats - tickets

  :

  SQLUpdate = \"UPDATE Show \" &_

  \"SET Show.free_seats=\" & free_seats & \" \" &_

  \" WHERE Show_ID=\" & show_id

  conn.Execute(SQLupdate)

  SQLquery = \"SELECT max([Booking_ID]) as bookingnumber FROM booking\"

  Set rsBooking = conn.execute(SQLquery)

  maxbookid = rsBooking(\"bookingnumber\") + 1

  SQLinsert = \"INSERT INTO Booking ( show_id, booked_seats ) \" & _

  \"VALUES ('\" & show_id & \"', '\" & tickets & \"')\"

  conn.Execute(SQLinsert) % >

  You have booked < %=tickets% > ticket(s) for < %=movie_title% >< br / >

  The show will take place at < %=theater_name% > (< %=time% >)

  < br / >

  Your reference number is < %=maxbookid% >

  下面是显示:

  Figure 4:完成交易.

  交易已经完成了,电影院可以坐着电影院门口收钱了.

  结论

  WAP现在才刚刚走出它的第一步,然而它是最近几年内最有革命性的IT发展之一。在这篇文章中我介绍了怎样用asp写WAP应用程序,并对你们提出了一些警告,希望对你们以后的发展有用。多媒体技术依然不能太多的用于WAP,但是它的可移动性却是重要的,也为商家提供了不少的商机。





上一篇:WAP中的ASP技术之五
下一篇:WML语言的基本情况
相关分类
网站建设 (5788)
  个人建站 (122)
  企业建站 (114)
  网站建设常识 (200)
  网站安全 (4825)
  网站设计 (312)
  域名 (149)
  主机 (66)
 




   版权所有 Copyright© 2006 黑马建站宝典 联系方式:heima123#gmail.com