ส่งค่า option ไปเลือก table
เว็บเพจสำรอง (Backup Webpages) : http://www.thaiall.com/asp/aspoption.htm | http://www.thaiabc.com/asp/aspoption.htm
ปรับปรุง : 2548-02-08 ()
[ ส่งค่า option ไปเลือก table ]

  1. ข้อควรทราบ
  2. ฟอร์มสำหรับส่ง option
  3. โปรแกรม asp ที่รับค่าจากฟอร์ม
  4. แบบฝึกหัด
ข้อควรทราบ
  1. เนื่องจากมีผู้สอบถามการส่งค่าจาก form ไปเลือก table ว่ามีปัญหาอย่างไร ผมจึงได้ไปทดสอบกับ websamba ว่าพอจะใช้เลือกข้อมูลตามต้องการได้หรือไม่
  2. โปรแกรมนี้ถือว่าเป็นโปรแกรมชุด ง่าย ๆ ลองทำดูนะครับ ไม่น่ายากเกินไป ใช้แฟ้ม 3 แฟ้ม 3 แฟ้ม คือ aspopt.htm สำหรับสร้างฟอร์มส่งค่า ส่วน aspopt.asp สำหรับรับค่าไปเลือกตาราง และ grade.mdb ซึ่งมีตาราง teacher และ grade รอให้เราเลือกครับ
  3. ผลของโปรแกรมนี้จะออกเมื่อเลือก teacher หรือ grade เท่านั้น เพราะส่งค่าถูกต้องที่มีอยู่ในแฟ้ม grade.mdb ถ้าส่งค่าอื่น จะเป็น error ดังนี้
    Microsoft JET Database Engine error '80040e14' 
    Syntax error in FROM clause. 
    /thaiall/aspopt.asp, line 8 
    
  4. อย่าแปลกใจว่าไม่เข้าใจว่าผลจากการประมวลผลคืออะไร เพราะค่านั้นเป็นค่าจากแฟ้ม teacher และ grade ที่ถูกประมวลผลไว้ใน การเขียนโปรแกรมรายงานผลการเรียน ผมเพียงแต่ไปอ่านค่ามาแค่ field เดียวเท่านั้น และไม่ได้แต่งผลด้วย

ฟอร์มสำหรับส่ง option
ฟอร์มนี้ทดลองเปิดได้จาก http://www.thaiall.com/asp/aspopt.htm หรือข้างล่างนี้

<html><head><title>Select option with ASP</title>
<body>
<form method="post" action="http://www.websamba.com/thaiall/aspopt.asp">
<select name="Tab">
<option>Please select...</option>
<option value="teacher">teacher</option>
<option value="grade">grade</option>
<option value="nothing">nothing</option>
</select>
<input type="submit" name="Submit">
</form>
</body>
</html>

โปรแกรม asp ที่รับค่าจากฟอร์ม
โปรแกรมนี้รับค่าจากฟอร์ม มาเลือก table ในแฟ้ม grade.mdb
<html><head><title>test from select option form</title></head>
<body bgcolor="#ffffdd"><font face="microsoft sans serif">
<%
gTab = Request.Form("Tab")
response.write( gtab & "<hr>")   
Set objConn = CreateObject("ADODB.Connection")
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("grade.mdb"))
Set rsUser = objConn.Execute("SELECT tid FROM " & gTab )
%>
<ul>
<%
i = 1
do while Not rsUser.eof and i <= 10     
   response.write(i & " : " & rsUser("tid") & "<br>")   
   rsUser.MoveNext
   i = i + 1
loop
%>
</ul>
</body></html>

แบบฝึกหัด
    ให้ทำตามโจทย์ต่อไปนี้
  1. ให้ copy แฟ้ม และโปรแกรม ไปทดสอบในเว็บของท่าน
  2. ลองสร้างแฟ้ม และประยุกต์ใช้งานตามความเหมาะสม
  3. ถ้าเป็นไปได้ ลองใช้ query เลือกจาก 2 table เพื่อมาทำรายงาน

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223