|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,WAP中的ASP手艺
选择影戏院和上映工夫
这部分代码让用户来选择看甚么工夫的影戏,一切的纪录依据前一页所选的影戏来决意。在这里来选择影戏院和上映工夫.
movie_id=Request("movie")
sqlQuery="SELECTtitleFROMmovieWHEREMovie_id="&movie_id
setrsMovie=conn.Execute(sqlQuery)
movie_title=rsMovie("title")
:
sqlQuery="SELECT[name],[time],[show_id]FROMShow,Theater"&_
"WHEREshow.movie_id="&movie_id&_
"ANDtheater.theater_id=show.theater_id"
setrsShows=conn.Execute(SQLquery)
假如你细心研讨了这个代码,你就会想用Session来保留影戏信息,再在这页举行查询更复杂。一样很不幸,Session是必要cookies的撑持,虽然说在WAP标准中也是被撑持的,可是在Nokia7110中也是不被撑持,这就是说如今我们还不克不及把session用在WAP服务中。
上面有一些风趣的事变:
<selectname=show>
<%
DowhilenotrsShows.eof
response.write("<optionvalue="&rsShows("show_id")&">"&Left(rsShows("name"),cutter)&"("&rsShows("time")&")"&"</option>"&vbcrlf)
rsShows.MoveNext
loop%>
</select>
假如你对cutter变量感应困惑,那末就有一些事让你啼笑皆非
Dimcutter
ifInStr(Request.ServerVariables("HTTP_USER_AGENT"),"Nokia7110")then
cutter=12
else
cutter=7
endif
这段代码依据分歧的设备来显现选项。我们有充分的来由的如许做,NokiaToolit1.2仿真器喜好把砍失落我的的选项到只要几个字符,而我们要显现影戏名字和上映工夫,以是我们就不能不削减影戏名字的字符。在真的手机中不会呈现这类成绩,以是我们就必需先判别设备的范例.
一旦我无机会(飞刀我很穷,没有钱,这是仅仅是悠远的妄想.......)在真的Nokia7110上测试我的代码,我们会当即感应我们有比我们想像更年夜的屏幕。实践上,有些影戏院的名字很乖僻,并且这些长名字会占用很年夜屏幕空间,我们没有需要华侈这些显现空间,只管把这些名字简化。
票
下一步就是让用户选择必要的票数.这部分的代码很像别的的部分。我将从数据库中查询不异的数据,由于Session不克不及在真实的WAP手机中利用,以是我必需对有些内容举行确认,看看是不是另有坐位出卖.
SQLquery="SELECT*FROMshowWHEREShow_id="&show_id
setrsShow=conn.Execute(SQLquery)
:
seats=rsShow("free_seats")
:
ifseats=0then
Response.write("Sorry,nomoreseats")
rsShow.close
setrsShow=nothing
Response.write("</p></card></wml>")
Response.end
else
ifseats>6thenbookupto6ticketsormaxavailable
max_seats=6
else
max_seats=seats
endif
endif
%>
<%=movie_title%>at<%=theater_name%>
<selectname=ticket>
<%
dimi
i=1
Dowhilei<=max_seats
response.write("<optionvalue="&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="UPDATEShow"&_
"SETShow.free_seats="&free_seats&""&_
"WHEREShow_ID="&show_id
conn.Execute(SQLupdate)
SQLquery="SELECTmax([Booking_ID])asbookingnumberFROMbooking"
SetrsBooking=conn.execute(SQLquery)
maxbookid=rsBooking("bookingnumber")+1
SQLinsert="INSERTINTOBooking(show_id,booked_seats)"&_
"VALUES("&show_id&","&tickets&")"
conn.Execute(SQLinsert)%>
Youhavebooked<%=tickets%>ticket(s)for<%=movie_title%><br/>
Theshowwilltakeplaceat<%=theater_name%>(<%=time%>)
<br/>
Yourreferencenumberis<%=maxbookid%>
上面是显现:
Figure4:完成买卖.
买卖已完成了,影戏院能够坐着影戏院门口收钱了.
结论
WAP如今才方才走出它的第一步,但是它是比来几年内最有反动性的IT开展之一。在这篇文章中我先容了如何用asp写WAP使用程序,并对你们提出了一些告诫,但愿对你们今后的开展有效。多媒体手艺仍然不克不及太多的用于WAP,可是它的可挪动性倒是主要的,也为商家供应了很多的商机。
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 |
|