บริหารกระดานข่าวสมัครงาน | ||
|
ข้อควรทราบ |
|
ส่วน html สำหรับ สั่ง asp ให้ทำงาน |
ฟอร์มนี้จะมีหน้าที่ 3 อย่างกับแฟ้ม /db/applnews.mdb ทีเดียว 1. รับค่า แล้วนำไปเพิ่มระเบียน อย่างง่าย ๆ 2. รับค่า แล้วนำไปเลือกระเบียนที่ต้องการลบ แล้วก็ลบ 3. อ่านข้อมูลทั้งหมดมาแสดง อย่างง่าย ๆ |
ตัวอย่างฟอร์ม eapplupd.htm | Source code ของ eapplupd.htm |
เพิ่มข่าวรับสมัครใหม่ ลบข้อมูลสมาชิก ข้อมูลข่าวแบบ desc เปิดฟอร์ม ในหน้าต่างใหม่ |
<html><title>Update news</title> <body bgcolor=#ffffdd><font face="microsoft sans serif"> เพิ่มข่าวรับสมัครใหม่<br> <form action=http://thaiall.thailandhosting.net/asp/eappladd.asp method=post> <table width=100%> <tr><td><font face="microsoft sans serif"> วันที่หมดเขตรับสมัคร(mm/dd/yy)พ.ศ.</td> <td><input type="text" name=dateout size=10 value="12/31/01"></td><tr> <tr><td><font face="microsoft sans serif">ชื่อองค์กร</td> <td><input type="text" name=organ size=50></td><tr> <tr><td><font face="microsoft sans serif">ตำแหน่ง</td> <td><input type="text" name=posit size=50></td><tr> <tr><td><font face="microsoft sans serif">วุฒิที่ต้องการ</td> <td><input type="text" name=edu size=50></td><tr> <tr><td><font face="microsoft sans serif">คุณสมบัติผู้สมัคร</td> <td><textarea rows=3 cols=40 name=capa></textarea></td><tr> <tr><td><font face="microsoft sans serif">ที่อยู่องค์กร</td> <td><input type="text" name=addr size=50></td><tr> <tr><td><font face="microsoft sans serif">ช่วงเงินเดือน</td> <td><input type="text" name=sala size=50></td><tr> <tr><td><font face="microsoft sans serif">E-Mail ผู้แจ้ง</td> <td><input type="text" name=email size=50></td><tr> <tr><td><font face="microsoft sans serif">ได้ข่าวนี้จาก</td> <td><input type="text" name=getfrom size=50></td><tr> <tr><td></td> <td><input type=submit value="Add news"><input type=reset value=Reset></td><tr> </table> </form> <hr> ลบข้อมูลสมาชิก<br> <form action=http://thaiall.thailandhosting.net/asp/eappldel.asp method=post> รหัสข่าวรับสมัครที่ต้องการลบ : <input type="text" name=delid size="2"0><br> <input type=submit value="Delete member"><input type=reset value=Reset> </form> <hr> <a href=eappllst.asp target=_blank>ข้อมูลข่าวแบบ desc</a><br> </body></html> |
เพิ่ม ระเบียนในแฟ้ม mdb |
โปรแกรมเพิ่มระเบียนจะต้องระบุว่า จะนำค่าใดเพิ่มในเขตข้อมูลใด ในโปรแกรมนี้จะใช้คำสั่ง insert ซึ่งแตกต่างจากที่ผมเคยใช้ตามปกติใน webhostme เพราะปกติคำสั่ง insert ผมจะใช้ select สั่งค่าลงไปในเขตข้อมูลที่ต้องการ แต่วิธีนี้ใช้ values โดยจัดเขตข้อมูลไว้ก่อน แล้วกำหนดเฉพาะค่าที่จะเข้าไป ต่างหาก ซึ่งแบบนี้ใช้เนื้อที่ในการเขียนน้อยกว่า แต่ผิดพลาดได้ง่ายกว่า เหตุที่ผมใช้แตกต่างไปจากปกติ เพราะที่ thaiall.thailandhosting.net/asp/ จะไม่แจ้งให้ทราบว่า asp ผิดอย่างไร ถ้ามีข้อผิดพลาด ทั้งที่โปรแกรมผมถูกแล้ว เพียงแต่ส่งค่าวันที่เข้าไปผิดรูปแบบ โปรแกรมกลับแจ้งผล ว่าผิดพลาด แต่ไม่บอกว่าอะไร ผมจึงต้องนั่งแก้โปรแกรมไปเรื่อย ๆ เปลี่ยนไปเปลี่ยนมา จนได้ตามรูปแบบนี้ .. แบบอื่นก็ใช้ได้ครับ .. เพราะเป็นภาษาที่ยืดหยุ่น |
Source code ของ /eappladd.asp |
<% set connNews = server.createobject("ADODB.Connection") ' connNews.Open "DBQ=" & Server.Mappath("\thaiall\db\applnews.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" connNews.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("applnews.mdb")) sql = "INSERT into applnews ( dateout, organ, posit, datein, edu, capa, addr, sala, getfrom, email) VALUES ( " sql = sql & " #" & request.form("dateout") & "#, " sql = sql & " '" & request.form("organ") & "', " sql = sql & " '" & request.form("posit") & "', " sql = sql & " #" & now() & "#, " sql = sql & " '" & request.form("edu") & "', " sql = sql & " '" & request.form("capa") & "', " sql = sql & " '" & request.form("addr") & "', " sql = sql & " '" & request.form("sala") & "', " sql = sql & " '" & request.form("getfrom") & "', " sql = sql & " '" & request.form("email") & "'); " set prorun = connNews.Execute(sql) connNews.close set connNews = nothing %> <body> <b>Add news</b><hr> <a href=eappllst.asp>Display</a> <br>Back to [<a href=eapplupd.htm>Update news</a>] </body>Click here to open this source code in new windows |
ลบ ระเบียนในแฟ้ม mdb |
การลบข้อมูล จะเป็นโปรแกรมที่สั้น แต่ได้ใจความ เพื่อใช้ sql delete เลือกลบ เมื่อสั่งประมวลผล ก็เสร็จงานทันที เข้าใจง่ายดีครับ ง่ายกว่า เพิ่ม แก้ไข หรือแสดง ซะอีก |
Source code ของ /eappldel.asp |
<% Set objConn = Server.CreateObject("ADODB.Connection") Set rec = Server.CreateObject("ADODB.Recordset") ' objConn.Open "DBQ=" & Server.Mappath("\thaiall\db\applnews.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("applnews.mdb")) strSQL = "DELETE * FROM applnews WHERE (applnews.id= " & request.form("delid") & ");" set prorun = objConn.Execute(strSQL) objConn.close %> <body> <b>Delete news</b><hr> <a href=eappllst.asp>Display</a> <br>Back to [<a href=eapplupd.htm>Update news</a>] </body>Click here to open this source code in new windows |
แสดง ระเบียนในแฟ้ม mdb |
ที่ thaiall.thailandhosting.net/asp/ ผมเขียนโปรแกรมนี้เสร็จเป็นโปรแกรมแรก โดยเข้าไปดูข้อกำหนดที่เว็บนี้ เขียนไว้ให้ดูว่า จะอ้างถึงแฟ้ม mdb ได้อย่างไร ซึ่งก็ไม่ต่างจากที่ webhostme มากมายนัก และโปรแกรมนี้ทำการจัดเรียงตามรหัสแบบ มากไปน้อย เพราะคำว่า desc เป็นคำสงวน เพื่อสั่งให้จัดเรียงซึ่งย่อมาจาก descending ตรงข้ามกับ ascending นั่นเอง และจำได้เลยว่าครั้งหนึ่ง เคยพยายามใช้ desc เป็นชื่อ field หาอยู่ครึ่งวัน กว่าจะนึกออกว่าเป็น คำสงวน ห้ามใช้ |
Source code ของ eappllst.asp
http://thaiall.thailandhosting.net/asp/eappllst.asp |
<% Set objConn = Server.CreateObject("ADODB.Connection") Set rec = Server.CreateObject("ADODB.Recordset") ' objConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.Mappath("\thaiall\db\applnews.mdb") objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("applnews.mdb")) strSQL = "select * from applnews order by applnews.id DESC;" rec.Open strSQL, objConn , 2, 3 %> <html><head><title>ข่าวรับสมัคร thaiall.com</title></head> <body bgcolor="#ffffdd"><font face="microsoft sans serif"> ข่าวรับสมัคร (<a href=http://www.thaiall.com target=_blank>thaiall.com</a>) <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("posit") &"<br>") response.write( "<b>ชื่อองค์กร</b> : " & rec("organ") &"<br>") response.write( "<b>การศึกษา</b> : " & rec("edu") &"<br>") response.write( "<b>คุณสมบัติผู้สมัคร</b> : " & rec("capa") &"<br>") response.write( "<b>ช่วงเงินเดือน</b> : " & rec("sala") &"<br>") response.write( "<b>ที่อยู่องค์กร</b> : " & rec("addr") &"<br>") response.write( "<b>E-Mail ที่ใช้ติดต่อ</b> : " & rec("email") &"<br>") response.write( "<b>วันหมดเขตรับสมัคร</b> : " & rec("dateout") &"<br>") response.write( "<b>วันแจ้งข่าว</b> : " & rec("datein") &"<br>") response.write( "<b>แหล่งข่าว</b> : " & rec("getfrom") &"<hr>") rec.MoveNext i = i + 1 loop %> </ul> </body></html>Click here to open this source code in new windows |
แบบฝึกหัด |
|