![]() | การทำระบบสมาชิก แบบ confirm | ![]() |
| ข้อควรทราบ |
|
| การเพิ่มสมาชิกใหม่ |
|
เพิ่มการถามย้ำ การเพิ่มข้อมูล จากบทเรียน การทำระบบสมาชิกใน access เมื่อสั่งเพิ่ม โปรแกรมจะนำข้อมูลมาแสดงอีกครั้ง แล้วถามให้แน่ใจ ก่อนเพิ่มในฐานจริง ๆ Download แฟ้ม member01.mdb เพื่อนำไปทดสอบโปรแกรม ASP ที่เขียนในบทนี้ได้ และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
| ตัวอย่างฟอร์ม /aspmcfad.htm | Source code ของ /aspmcfad.htm |
|
เพิ่มข้อมูลสมาชิกใหม่ (มีการถามย้ำ ก่อนจัดเก็บจริง) Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
<html><title>Add new member(With confirm)</title> <body bgcolor=#ffffdd><font face="microsoft sans serif"> เพิ่มข้อมูลสมาชิกใหม่ (มีการถามย้ำ ก่อนจัดเก็บจริง)<br> <form action=http://thaiall.webhostme.com/aspmcfad.asp method=post> ชื่อสมาชิก : <input type="text" name=name size=40><br> E-Mail : <input type="text" name=email size=40><br> ชื่อเว็บ : <input type="text" name=webname size=40><br> ที่อยู่เว็บ : <input type="text" name=address size=40 value="http://"><br> คำอธิบายเว็บ : <br><textarea rows=3 cols=40 name=describ></textarea><br> <input type=submit value="Add member"><input type=reset value=Reset> </form> </body></html> |
| Source code ของโปรแกรมเพิ่มระเบียน /aspmcfad.asp |
<%
if request.form("confirm") = "OK" then
set connNews = server.createobject("ADODB.Connection")
connNews.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
sql = "INSERT into member ( name, email, webname, address, describ ) SELECT "
sql = sql & " '" & request.form("name") & "' as name, "
sql = sql & " '" & request.form("email") & "' as email, "
sql = sql & " '" & request.form("webname") & "' as webname, "
sql = sql & " '" & request.form("address") & "' as address, "
sql = sql & " '" & request.form("describ") & "' as describ; "
set rsArticles = connNews.Execute(sql)
connNews.close
set connNews = nothing
response.write("<body>")
response.write("<b>Add new member (Complete)</b><hr>")
else
response.write("<body bgcolor=#ddffdd><font face='microsoft sans serif' size="0">")
response.write("เพิ่มข้อมูลสมาชิกใหม่ (ถามย้ำ)<br>")
response.write("<form action=http://thaiall.webhostme.com/aspmcfad.asp method=post>")
response.write("ชื่อสมาชิก : " & request.form("name") )
response.write("<input type=hidden name=name value='" & request.form("name") & "'><br>")
response.write("E-Mail : " & request.form("email") )
response.write("<input type=hidden name=email value='" & request.form("email") & "'><br>")
response.write("ชื่อเว็บ : " & request.form("webname") )
response.write("<input type=hidden name=webname value='" & request.form("webname") & "'><br>")
response.write("ที่อยู่เว็บ : " & request.form("address") )
response.write("<input type=hidden name=address value='" & request.form("address") & "'><br>")
response.write("คำอธิบายเว็บ : <br>" & request.form("describ") )
response.write("<input type=hidden name=describ value='" & request.form("describ") & "'><br>")
response.write("<input type=hidden name=confirm value='OK'>")
response.write("<input type=submit value='Add member (Confirm)'>")
response.write("</form>")
end if
%>
<a href=/aspmcfls.asp>Display last 10 members</a>
<br>Back to [
<a href=/aspmcfad.htm>Add</a>,
<a href=/aspmcfdl.htm>Delete</a>,
<a href=/aspmcfed.htm>Edit</a> ]
</body>
ดูเฉพาะ Source code เท่านั้น |
| การลบสมาชิก |
|
เพิ่มการถามย้ำ การลบข้อมูล จากบทเรียน การทำระบบสมาชิกใน access โดยครั้งแรก ถามเฉพาะรหัส แล้วไปเลือกข้อมูลมาแสดง แล้วถามว่าจะลบ หรือไม่ Download แฟ้ม member01.mdb เพื่อนำไปทดสอบโปรแกรม ASP ที่เขียนในบทนี้ได้ และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
| ตัวอย่างฟอร์ม /aspmcfdl.htm | Source code ของ /aspmcfdl.htm |
|
ลบข้อมูลสมาชิก (มีการถามย้ำ ก่อนลบจริง) Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
<html><title>Delete member (With confirm on data)</title> <body bgcolor=#ffffdd><font face="microsoft sans serif"> ลบข้อมูลสมาชิก (มีการถามย้ำ ก่อนลบจริง)<br> <form action=http://thaiall.webhostme.com/aspmcfdl.asp method=post> รหัสสมาชิกที่ต้องการลบ : <input type="text" name=delid size="2"0><br> <input type=submit value="Delete member"><input type=reset value=Reset> </form> </body></html> |
| Source code ของโปรแกรมลบระเบียน /aspmcfdl.asp |
<%
if request.form("confirm") = "OK" then
set connNews = server.createobject("ADODB.Connection")
connNews.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
sql = "DELETE * FROM member WHERE (member.id= " & request.form("delid") & ");"
set rsArticles = connNews.Execute(sql)
connNews.close
set connNews = nothing
response.write("<body>")
response.write("<b>Delete new member (Complete)</b><hr>")
else
thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
Set rec = Server.CreateObject("ADODB.Recordset")
sql = "select * from member WHERE (member.id= " & request.form("delid") & ");"
rec.Open sql, thaialldbaccess97
i = 1
if Not rec.eof then
rec.MoveFirst
response.write("<body bgcolor=#ddffdd><font face='microsoft sans serif' size="0">")
response.write("ลบข้อมูลสมาชิกใหม่ (ถามย้ำ)<br>")
response.write("<form action=http://thaiall.webhostme.com/aspmcfdl.asp method=post>")
response.write("รหัสสมาชิก : " & rec("id") )
response.write("<input type=hidden name=delid value=" & rec("id") & "><br>")
response.write("ชื่อสมาชิก : " & rec("name") )
response.write("<input type=hidden name=name value='" & rec("name") & "'><br>")
response.write("E-Mail : " & rec("email") )
response.write("<input type=hidden name=email value='" & rec("email") & "'><br>")
response.write("ชื่อเว็บ : " & rec("webname") )
response.write("<input type=hidden name=webname value='" & rec("webname") & "'><br>")
response.write("ที่อยู่เว็บ : " & rec("address") )
response.write("<input type=hidden name=address value='" & rec("address") & "'><br>")
response.write("คำอธิบายเว็บ : " & rec("describ") )
response.write("<input type=hidden name=describ value='" & rec("describ") & "'><br>")
response.write("<input type=hidden name=confirm value='OK'>")
response.write("<input type=submit value='Delete member (Confirm)'>")
response.write("</form>")
else
response.write("Not found")
end if
end if
%>
<a href=/aspmcfls.asp>Display last 10 members</a>
<br>Back to [
<a href=/aspmcfad.htm>Add</a>,
<a href=/aspmcfdl.htm>Delete</a>,
<a href=/aspmcfed.htm>Edit</a> ]
</body>
ดูเฉพาะ Source code เท่านั้น |
| การแก้ไขสมาชิก |
|
เพิ่มการถามย้ำ การลบข้อมูล จากบทเรียน การทำระบบสมาชิกใน access จะถามเฉพาะรหัสก่อน แล้วนำไปเลือกข้อมูลในแฟ้มมาให้แก้ไข ต่างจากเดิม ที่นำข้อมูลใหม่ไปทับทันที Download แฟ้ม member01.mdb เพื่อนำไปทดสอบโปรแกรม ASP ที่เขียนในบทนี้ได้ และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
| ตัวอย่างฟอร์ม /aspmcfed.htm | Source code ของ /aspmcfed.htm |
|
แก้ไขข้อมูลสมาชิก (แสดงข้อมูลเดิมมาให้แก้ไข) Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
<html><title>Edit member (With old record)</title> <body bgcolor=#ffffdd><font face="microsoft sans serif"> แก้ไขข้อมูลสมาชิก (แสดงข้อมูลเดิมมาให้แก้ไข)<br> <form action=http://thaiall.webhostme.com/aspmcfed.asp method=post> รหัสสมาชิก : <input type="text" name=id size="2"0> (ต้องมีอยู่ในฐานข้อมูลแล้ว)<br> <input type=submit value="Edit member"><input type=reset value=Reset> </form> </body></html> |
| Source code ของโปรแกรมแก้ไขข้อมูล /aspmcfed.asp |
<%
if request.form("confirm") = "OK" then
set connNews = server.createobject("ADODB.Connection")
connNews.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
sql = "UPDATE member set "
sql = sql & " member.name = '" & request.form("name") & "', "
sql = sql & " member.email = '" & request.form("email") & "', "
sql = sql & " member.webname = '" & request.form("webname") & "', "
sql = sql & " member.address = '" & request.form("address") & "', "
sql = sql & " member.describ = '" & request.form("describ") & "' "
sql = sql & " Where member.id = " & request.form("id") & " ;"
set rsArticles = connNews.Execute(sql)
connNews.close
set connNews = nothing
response.write("<body>")
response.write("<b>Edit member (Complete)</b><hr>")
else
thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
Set rec = Server.CreateObject("ADODB.Recordset")
sql = "select * from member WHERE (member.id= " & request.form("id") & ");"
rec.Open sql, thaialldbaccess97
i = 1
if Not rec.eof then
rec.MoveFirst
response.write("<body bgcolor=#ddffdd><font face='microsoft sans serif' size="0">")
response.write("ปรับปรุงข้อมูลสมาชิกใหม่ (ถามย้ำ)<br>")
response.write("<form action=http://thaiall.webhostme.com/aspmcfed.asp method=post>")
response.write("รหัสสมาชิก : " & rec("id") )
response.write("<input type=hidden name=id value=" & rec("id") & "><br>")
response.write("ชื่อสมาชิก : ")
response.write("<input type="text" name=name value='" & rec("name") & "'><br>")
response.write("E-Mail : ")
response.write("<input type="text" name=email value='" & rec("email") & "'><br>")
response.write("ชื่อเว็บ : ")
response.write("<input type="text" name=webname value='" & rec("webname") & "'><br>")
response.write("ที่อยู่เว็บ : ")
response.write("<input type="text" name=address value='" & rec("address") & "'><br>")
response.write("คำอธิบายเว็บ : ")
response.write("<textarea rows=3 cols=40 name=describ>" & rec("describ") & "</textarea>")
response.write("<input type=hidden name=confirm value='OK'>")
response.write("<input type=submit value='Edit member (Confirm)'>")
response.write("</form>")
else
response.write("Not found")
end if
end if
%>
<a href=/aspmcfls.asp>Display last 10 members</a>
<br>Back to [
<a href=/aspmcfad.htm>Add</a>,
<a href=/aspmcfdl.htm>Delete</a>,
<a href=/aspmcfed.htm>Edit</a> ]
</body>
ดูเฉพาะ Source code เท่านั้น |
| การพิมพ์ข้อมูลสมาชิกล่าสุด 10 คน |
|
หัวข้อนี้จะใช้แฟ้มที่เกี่ยวข้อง 2 แฟ้มคือ /cgi-bin/member01.mdb และ /aspmbrls.asp 1. /aspmbrls.asp ทำหน้าที่อ่านข้อมูลสมาชิก 10 คนสุดท้ายมาแสดง เท่านั้น 2. /cgi-bin/member01.mdb แฟ้มที่ให้ข้อมูล เพื่อนำไปทำรายงาน ของสมาชิก Download แฟ้ม member01.mdb เพื่อนำไปทดสอบโปรแกรม ASP ที่เขียนในบทนี้ได้ และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
| Source code ของโปรแกรมแสดงข้อมูลสมาชิก /aspmbrls.asp |
<%
thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
Set rec = Server.CreateObject("ADODB.Recordset")
sql = "select * from member order by member.id DESC;"
rec.Open sql, thaialldbaccess97
%>
<html><head><title>รายชื่อสมาชิกใหม่ 10 คน</title></head>
<body bgcolor="#ffffdd"><font face="microsoft sans serif">
รายชื่อสมาชิกใหม่ 10 คน (Display last 10 members)<hr>
<ul>
<%
i = 1
if Not rec.eof then rec.MoveFirst
do while Not rec.eof and i <= 10
response.write( "<b>รหัสสมาชิก</b> : " & rec("id") &"<br>")
response.write( "<b>ชื่อสมาชิก</b> : " & rec("name") &"<br>")
response.write( "<b>E-mail</b> : " & rec("email") &"<br>")
response.write( "<b>ชื่อเว็บ</b> : " & rec("webname") &"<br>")
response.write( "<b>ที่อยู่เว็บ</b> : " & rec("address") &"<br>")
response.write( "<b>คำอธิบายเว็บ</b> : " & rec("describ") &"<hr>")
rec.MoveNext
i = i + 1
loop
%>
</ul>
</body></html>
Click ที่นี่ เพื่อแสดงข้อมูลสมาชิกล่าสุด 10 คน
ดูเฉพาะ Source code เท่านั้น |
| การนับระเบียนในแฟ้ม |
|
หัวข้อนี้ง่ายไม่ serious ใช้เพื่อนับระเบียนในแฟ้ม Download แฟ้ม member01.mdb เพื่อนำไปทดสอบโปรแกรม ASP ที่เขียนในบทนี้ได้ และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
| Source code ของโปรแกรมแสดงข้อมูลสมาชิก /aspmbrct.asp |
<html><title>Total record</title>
<body bgcolor="#ffffdd">
<%
thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb")
set rec = Server.CreateObject("ADODB.Recordset")
sql = "select * from member order by member.id"
rec.Open sql, thaialldbaccess97
totrec=rec.recordcount
response.write "<br>แปลกครับ http://www.learnasp.com/learn/dbcount.asp ก็ใช้แบบ reccount ได้ แต่ลองแล้ว ไม่ได้<br>"
response.write "Total record : " & rec.recordcount & "<hr>"
response.write "จึงต้องใช้วิธีนับแบบข้างล่างนี้แทน ทดสอบที่ webhostme.com<br>"
cntrec = 0
if Not rec.eof then rec.MoveFirst
do while Not rec.eof
cntrec = cntrec + 1
rec.movenext
loop
response.write "Total record : " & cntrec
rec.close
set rec=nothing
%>
</body></html>
Click ที่นี่ เพื่อแสดงจำนวนระเบียนในแฟ้ม
ดูเฉพาะ Source code เท่านั้น |
| แบบฝึกหัด |
|