เทคโนโลยี ASP ใน WAP (4)
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-05-30 19:54:43
เลือกโรงละครและเวลาแสดง
รหัสส่วนนี้อนุญาตให้ผู้ใช้เลือกเวลาที่จะชมภาพยนตร์ บันทึกทั้งหมดจะพิจารณาจากภาพยนตร์ที่เลือกในหน้าก่อนหน้า เลือกโรงละครและเวลาแสดงของคุณที่นี่
movie_id = คำขอ ("ภาพยนตร์")
sqlQuery = "เลือกชื่อจากภาพยนตร์ โดยที่ Movie_id = " & movie_id
ตั้งค่า rsMovie = conn.Execute (sqlQuery)
movie_title = rsMovie("ชื่อเรื่อง")
-
sqlQuery = "เลือก [ชื่อ], [เวลา], [show_id] จากการแสดง, โรงละคร " &_
"WHERE show.movie_id = " & movie_id &_
"และ theatre.theater_id = show.theater_id"
ตั้งค่า rsShows = conn.Execute (SQLquery)
หากคุณศึกษาโค้ดนี้อย่างละเอียด คุณจะต้องใช้ Session เพื่อบันทึกข้อมูลภาพยนตร์ จากนั้น Query ในหน้านี้ก็จะง่ายขึ้น น่าเสียดายที่จำเป็นต้องมีเซสชัน
แม้ว่าการรองรับคุกกี้จะได้รับการสนับสนุนในข้อกำหนด WAP แต่ Nokia 7110 ยังไม่รองรับ ซึ่งหมายความว่าเรายังไม่สามารถใช้เซสชันใน WAP ได้
ในการให้บริการ
นี่คือสิ่งที่น่าสนใจ:
<เลือกชื่อ='แสดง'>
-
ทำในขณะที่ไม่ใช่ rsShows.eof
response.write("<option value='" & rsShows("show_id") & "'>" & Left(rsShows("ชื่อ"),เครื่องตัด) & " (" &
rsShows("เวลา") & ")" & "</option>" &vbcrlf)
rsShows.MoveNext
วนซ้ำ %>
</เลือก>
หากคุณสงสัยเกี่ยวกับตัวแปรคัตเตอร์ นี่คือสิ่งที่จะทำให้คุณหัวเราะหรือร้องไห้ได้
เครื่องตัดติ่มซำ
ถ้า InStr(Request.ServerVariables("HTTP_USER_AGENT"), "Nokia7110") แล้ว
คัตเตอร์ = 12
อื่น
คัตเตอร์ = 7
สิ้นสุดถ้า
รหัสนี้แสดงตัวเลือกตามอุปกรณ์ต่างๆ เรามีเหตุผลที่ดีในการทำเช่นนี้ โปรแกรมจำลอง Nokia Toolit 1.2 ชอบที่จะตัดตัวเลือกของฉันให้เหลือเพียงไม่กี่อักขระ และเราต้องการแสดงชื่อภาพยนตร์และวันที่ออกฉาย ดังนั้นเราจึงต้องลดอักขระของชื่อภาพยนตร์ ปัญหานี้ไม่ได้เกิดขึ้นในโทรศัพท์มือถือจริง ดังนั้นเราต้องกำหนดประเภทของอุปกรณ์ก่อน
เมื่อฉันมีโอกาส (ฉันยากจนและไม่มีเงิน นี่เป็นเพียงความฝันอันไกลโพ้น...) เพื่อทดสอบโค้ดของฉันบน Nokia 7110 จริง ๆ เราก็รู้สึกได้ทันทีว่าเรามีมากกว่าที่เราคิด ที่จริงแล้ว โรงภาพยนตร์บางแห่งมีชื่อแปลกๆ และชื่อยาวๆ เหล่านี้ก็จะกินพื้นที่หน้าจอมาก ไม่จำเป็นต้องเปลืองพื้นที่แสดงผลและพยายามทำให้ชื่อเหล่านี้ง่ายขึ้น
ตั๋ว
ขั้นตอนต่อไปคือให้ผู้ใช้เลือกจำนวนโหวตที่ต้องการ ฉันจะสอบถามข้อมูลเดียวกันจากฐานข้อมูลเนื่องจากเซสชันไม่สามารถใช้จริงได้
มีการใช้โทรศัพท์ WAP จึงต้องตรวจสอบเนื้อหาบางส่วนเพื่อดูว่ายังมีที่นั่งจำหน่ายอยู่หรือไม่
SQLquery = "SELECT * จากแสดงโดยที่ Show_id = " & show_id
ตั้งค่า rsShow = conn.Execute (SQLquery)
-
ที่นั่ง = rsShow("free_seats")
-
ถ้าที่นั่ง = 0 แล้ว
Response.write("ขออภัย ไม่มีที่นั่งแล้ว")
rsShow.ปิด
ตั้งค่า rsShow = ไม่มีเลย
Response.write("</p></card></wml>")
การตอบกลับสิ้นสุด
อื่น
หากที่นั่ง> 6 ก็ 'จองตั๋วได้สูงสุด 6 ใบหรือสูงสุดที่มีอยู่
max_seats=6
อื่น
max_seats = ที่นั่ง
สิ้นสุดถ้า
สิ้นสุดถ้า
-
<%=movie_title%> ที่ <% =theater_name%>
<select name='ticket'>
-
ดิมิ
ผม=1
ทำในขณะที่ i <= max_seats
response.write("<option value='" & i & "'>" & i & " ตั๋ว" & "</option>" &vbcrlf)
ฉัน = ฉัน + 1
วนซ้ำ %>
</เลือก>
บันทึกคะแนนเสียง
ตอนนี้เรามีข้อมูลทั้งหมดที่ต้องการแล้ว เราจำเป็นต้องบันทึกมัน:
ตั๋ว = คำขอ ("ตั๋ว")
-
free_seats = rsShow("free_seats")
-
free_seats = free_seats - ตั๋ว
-
SQLUpdate = "อัปเดตแสดง" &_
"SET Show.free_seats=" & free_seats & " " &_
" WHERE Show_ID=" & show_id
conn.Execute (SQLupdate)
SQLquery = "SELECT max([Booking_ID]) เป็นหมายเลขการจองจากการจอง"
ตั้งค่า rsBooking = conn.execute (SQLquery)
maxbookid = rsBooking("หมายเลขการจอง") + 1
SQLinsert = "แทรกลงในการจอง ( show_id, book_seats) " & _
"ค่า ('" & show_id & "', '" & ตั๋ว & "')"
conn.Execute(SQLinsert) %>
คุณได้จองตั๋ว <%=tickets%> ใบสำหรับ <%=movie_title%><br /> แล้ว
การแสดงจะจัดขึ้นที่ <%=theater_name%> (<%=time%>)
<br />
หมายเลขอ้างอิงของคุณคือ <%=maxbookid%>
ด้านล่างคือจอแสดงผล:
รูปที่ 4: ทำธุรกรรมให้เสร็จสิ้น
การทำธุรกรรมเสร็จสมบูรณ์และโรงภาพยนตร์สามารถนั่งที่ประตูโรงภาพยนตร์เพื่อเก็บเงินได้
สรุปแล้ว
WAP เพิ่งเริ่มก้าวแรก แต่เป็นหนึ่งในการพัฒนาด้านไอทีที่ปฏิวัติวงการมากที่สุดในช่วงไม่กี่ปีที่ผ่านมา ในบทความนี้ ฉันแนะนำวิธีเขียนแอปพลิเคชัน WAP โดยใช้ asp
และฉันได้ให้คำเตือนแก่คุณซึ่งหวังว่าจะเป็นประโยชน์สำหรับการพัฒนาในอนาคตของคุณ เทคโนโลยีมัลติมีเดียยังคงใช้ไม่ได้มากเกินไปใน WAP แต่ความคล่องตัวเป็นสิ่งสำคัญและให้โอกาสทางธุรกิจมากมายแก่ผู้ค้า