| 以下是引用片段: < small > < anchor title=\"next!\" >Next < go href=\"step2.asp\" method=\"get\" > < postfield name=\"movie\" value=\"$(movie)\" / > < /go > < /anchor > < /small > < /p > |

选择电影院和上映时间
这部分代码让用户来选择看什么时间的电影,所有的记录根据前一页所选的电影来决定。在这里来选择电影院和上映时间.
| 以下是引用片段: 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上测试我的代码,我们会立即感到我们有比我们想像更大的屏幕。实际上,有些电影院的名字很古怪,而且这些长名字会占用很大屏幕空间,我们没有必要浪费这些显示空间,尽量把这些名字简化。