สิ่งหนึ่ง
ที่ขาดซะไม่ได้เลย สำหรับ เว็บบอร์ด ก็คือ เว็บเพจ Admin ที่ทำหน้าที่ดูแล
เว็บบอร์ดของ เรา ไม่ว่าจะเป็น การลบกระทู้ ที่ไม่เหมาะสม การลบคำตอบบางคำตอบ
การจัดการกับขยะ หรือแม้กระทั่งการแก้ไข ข้อความบางส่วน |
เอาเว็บบอร์ดที่มีอยู่แล้ว
ผมยึดเอาเว็บบอร์ดที่ผม
ให้ download กันอยู่แล้วเป็น Source หลักนะครับ
(ถ้ายังไม่ได้ download กัน คลิกที่นี่ครับ)
ซึ่งต่อมาผมจะทำหน้าหลักที่ใช้ในการจัดการ เว็บบอร์ด
ชื่อว่าไฟล์ admin.html นะครับ
ไฟล์ Admin.html จะประกอบไปด้วย Radio Button ซึ่งมี
2 Choice ให้เลือกคือ
1. ลบคำถาม ข้างหลังส่วนลบคำถามจะมี input ให้ระบุหมายเลขคำถาม
2. ลบคำตอบ จะมี input ให้กรอกหมายเลขคำถามและลำดับที่ของคำตอบ
ดังนี้ |
<form
method="post" action="admin.asp">
<input type="radio" name="del"
value="1">
ลบคำถามหมายเลข <input type="text"
name="number1"> <br>
<input type="radio" name="del"
value="2">
ลบคำตอบของคำถามหมายเลข
<input type="text" name="number1">
ลำดับที่
<input type="text" name="number2">
<br>
<input type="submit" name="Submit"
value="Submit">
</form> |
|
|
ซึ่งจะได้หน้าตาไฟล์ admin.html ดังนี้ครับ |
 |
ไฟล์ admin.html จะ Post ข้อมูลไปยังไฟล์ admin.asp
ไฟล์นี้จะค้นหาข้อมูลในฐานข้อมูล แล้วนำออกมาแสดงให้
เห็น เพื่อถามความทั่นใจว่าจะลบ ข้อความนี้แน่หรือไม่ |
|
|
ไฟล์
Admin.asp ตรวจสอบความแน่ใจ
ไฟล์
admin.asp จะนำหมายเลขที่กรอกเข้ามาในฟอร์มของไฟล์
admin.html มาตรวจสอบ ในฐานข้อมูล แล้วก็แสดงให้
เราเห็นว่า เป็นข้อความนี้ที่ต้องการลบใช่หรือไม่
ถ้าใช่ก็ให้ คลิกที่ปุ่ม delete ข้างล่างครับ
|
ไฟล์
Admin.asp |
<%If
Request("del") =
"1" then 'ตรวจสอบว่า
เป็นการลบคำถาม หรือ คำตอบ
sql="select * from question
where QID="&number1
else
sql="select * from answer
where QID="&number1
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft
Access Driver
(*.mdb)};DBQ="&Server.mappath("webboard.mdb")
Set rs = Server.CreateObject
("ADODB.Recordset")
rs.Open sql,conn,1,3
If Request("del")
= "2" then 'ถ้าเป็นการลบคำตอบ
จะให้ไปยังคำตอบลำดับที่ที่ระบุใน
number2
rs.move number2
end if%>
<!-- แสดงข้อมูลออกมาให้เห็น
โดยใช้ rs("name")
และอื่นๆ -->
<!--เริ่มต้นฟอร์มเพื่อส่งไปยังไฟล์
delete.asp เพื่อทำการลบ-->
|
|
|
|
|
|
|
ไฟล์
Delete.asp ลบทันที
ไฟล์นี้ก็จะคล้ายกับไฟล์
Admin.asp นั่นแหละครับ เพียงแต่ไฟล์นี้จะลบข้อความทันที |
ไฟล์
Delete.asp |
<%If
Request("del") = "1"
then 'ตรวจสอบว่า
เป็นการลบคำถาม หรือ คำตอบ
sql="select * from question where
QID="&number1
else
sql="select * from answer where
QID="&number1
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access
Driver
(*.mdb)};DBQ="&Server.mappath("webboard.mdb")
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open sql,conn,1,3
If Request("del") = "2"
then 'ถ้าเป็นการลบคำตอบ
จะให้ไปยังคำตอบลำดับที่ที่ระบุใน number2
rs.move number2
end if
rs.delete %>
|
|
|
|
เอากันเป็น
Concept แบบนี้ดีกว่านะครับ เพราะผมคิดว่า ผู้อ่านจะได้นำแนวคิดไปใช้กับเว็บบอร์ดของท่านเองครับ
ไม่อยากให้ผมทำเหมือนกับ ผูกขาด Source Code :-) ต้องมีเป็นชุดๆ
|
|