ด้วยความนิยมของอินเทอร์เน็ต การสำรวจออนไลน์มักจะได้รับผลลัพธ์ที่ดีกว่า การใส่กระดานสำรวจคำถามที่น่าสนใจบนเว็บไซต์ส่วนตัวของคุณสามารถเพิ่มสีสันให้กับเว็บไซต์ได้อย่างมาก และจากผลการสำรวจ คุณสามารถเรียนรู้ความคิดเห็นของชาวเน็ตบนเว็บไซต์ของคุณได้แม่นยำมากขึ้นเรื่อยๆ ในฐานะผู้ดูแลเว็บ หากเว็บไซต์ของคุณจำเป็นต้องทำการสำรวจในหัวข้อใดหัวข้อหนึ่งด้วย และคุณเกลียดการใช้กระดานสำรวจที่ผู้อื่นจัดทำให้ฟรี (ฟรีมักจะมาพร้อมกับราคา เช่น การโฆษณา!) ฉันขอแนะนำให้คุณใช้เวลาสิบนาที หากต้องการอ่านบทความนี้แนะนำการใช้ ASP เพื่อสร้างกระดานสำรวจ คุณเพียงแค่ต้องคัดลอกโค้ดในบทความไปยังเครื่องของคุณ ทำการแก้ไขเล็กน้อย แล้วคุณจะมีกระดานสำรวจส่วนตัวของคุณเองทันที โอเค ให้กำลังใจแล้วมองลงไป
มีไฟล์สามไฟล์ในกระดานสำรวจนี้: การแสดงคำถามแบบสำรวจ (research.html) การประมวลผลการเลือกผู้ใช้ (select.asp) และการดูผลการสำรวจ (viewresult.asp) แนวคิดการออกแบบคือ: ASP รับข้อมูลที่ส่งจากแบบฟอร์ม และปรับเปลี่ยนฐานข้อมูลที่บันทึกจำนวนคะแนนในแบบสำรวจตามลำดับ จากนั้น ASP จะอ่านฐานข้อมูล รับจำนวนคะแนนสำหรับคำถามแบบสำรวจแต่ละข้อ และปรับแถบที่เกี่ยวข้อง การแสดงแผนภูมิตามจำนวนคะแนนโหวต ผลการสำรวจจะแสดงในลักษณะที่ใช้งานง่ายและเป็นสัดส่วน ฉันได้ให้ความคิดเห็นโดยละเอียดเพิ่มเติมเกี่ยวกับประเด็นสำคัญของโปรแกรมแล้ว และฉันจะไม่พูดถึงความรู้พื้นฐานของ ASP ที่นี่ ผู้อ่านสามารถตรวจสอบได้ในคอลัมน์ Taoba ASP แน่นอน ฉันหวังว่าเมื่อคุณดีบักโปรแกรมบนเซิร์ฟเวอร์ของคุณเอง หากคุณไม่เข้าใจบางสิ่งบางอย่าง คุณควรตรวจสอบคู่มือทางเทคนิคของ ASP รอบตัวคุณเพื่อดูไวยากรณ์โดยละเอียดของอ็อบเจ็กต์ วิธีการ หรือฟังก์ชัน ลองแก้ไขดู และดูว่าผลลัพธ์เปลี่ยนแปลงไปอย่างไร—— นี่เป็นวิธีที่ดีในการเรียนรู้การเขียนโปรแกรม
1. แสดงคำถามแบบสำรวจ (research.html)
การออกแบบคำถามแบบสำรวจควรขึ้นอยู่กับสถานการณ์จริง ทั้งในทางปฏิบัติหรือที่น่าสนใจ และรูปแบบที่แสดงบนหน้าเว็บอาจเป็นแบบเรียบง่ายหรือมีชีวิตชีวา ในตัวอย่างนี้ จะเป็นเรื่องเกี่ยวกับ คำถามในหน้าแรกของผู้เขียน แบบสำรวจที่น่าสนใจเรื่อง "อะไรคือสิ่งที่สำคัญที่สุดในศตวรรษที่ 21" เพื่ออธิบายปัญหา โค้ดสำหรับการปรับเปลี่ยนด้านสุนทรียศาสตร์จะถูกละเว้นในโค้ดต่อไปนี้ เมื่อคุณออกแบบด้วยตัวเอง ใช้ตารางและเทคนิคอื่นๆ เพื่อตกแต่งการแสดงคำถามแบบสำรวจ เพื่อให้ Ti เปลี่ยนมังกร? เมเปิ้ล Lai Ta โบกมือคราดจมูกของพวกเขาและใช้ประโยชน์จาก Gui เทปหย่อน?
researchindex.html:
< html >
<title>การทดสอบคณะกรรมการสำรวจ</title>
<หัว>
< !-- start: กำหนดหน้าต่างใหม่-- >
<ภาษาสคริปต์=จาวาสคริปต์>
-
var newWindow = null
functionOpenWindow(htmurl)
-
ถ้า (! newWindow || newWindow.closed)
-
หน้าต่างใหม่ =
window.open(htmurl,"newwin","toolbar=no,resiza =no,scrollbars=no,width=400,height=280");
}อื่น
-
newWindow.โฟกัส();
-
-
-
</ /สคริปต์ >
<!-- end: กำหนดหน้าต่างที่เพิ่งเปิดใหม่-->
</ /หัว>
<ร่างกาย>
< !-- start: คำถามแบบสำรวจ ตัวเลือก -- >
< p >คุณคิดว่าอะไรคือสิ่งที่สำคัญที่สุดในศตวรรษที่ 21 </p>
< รูปแบบวิธีการ = "POST" action = "vote/select.asp" name = "การวิจัย" LANGUAGE = "javascript"
onSubmit="OpenWindow()" target="newwin" >
< p align="ซ้าย" >
<br>
< input type="radio" value="1" name="Options">ความรู้ (ความรู้คือพลัง)< br >
< input type="radio" value="2" name="Options">คุณวุฒิการศึกษา (สังคมวิชาการไม่มีที่สิ้นสุด)< br >
< input type="radio" value="3" name="Options">เงิน (เศรษฐกิจเป็นพื้นฐาน)< br >
< input type="radio" value="4" name="Options">รัก (รักที่ไม่มีวันเข้าหลุมศพ)< br >
< input type="radio" value="5" name="Options">อุดมคติ (โอ้พระเจ้า อะไรคืออุดมคติ)< br >
< input type="radio" value="6" name="Options">ความตระหนักรู้ในระบอบประชาธิปไตย (ความกังวลเรื่องการเมือง)< br >
< input type="radio" value="7" name="Options">ความคิดเชิงวิทยาศาสตร์ (ฟื้นฟูประเทศด้วยวิทยาศาสตร์และการศึกษา)< br >
< ประเภทอินพุต = "ส่ง" ค่า = "ส่ง" ชื่อ = "โหวต" >
< ประเภทอินพุต = "ปุ่ม" ค่า = "ดู" ชื่อ = "ดู" onClick = "OpenWindow (โหวต/viewresult.asp)" >
</ /แบบฟอร์ม>
< !-- start: คำถามแบบสำรวจ ตัวเลือก -- >
</ ร่างกาย >
</ /html >
2. การประมวลผลการเลือกผู้ใช้ (select.asp)
ตามตัวเลือกการสำรวจข้างต้น เราได้ออกแบบฐานข้อมูล researchdb.mdb (ใช้ Access เป็นตัวอย่าง) ที่บันทึกคะแนนโหวตของการสำรวจ ชื่อตารางคือ: การวิจัย หากฐานข้อมูลและตารางของคุณไม่ได้รับการบันทึกด้วยชื่อข้างต้น อย่าลืมแก้ไขตามขั้นตอนและการดำเนินการในภายหลัง
การวิจัยตารางที่เก็บหมายเลขคะแนนโหวตของการสำรวจ:
ชื่อฟิลด์ ค่าเริ่มต้นของชนิดข้อมูล
ไอดีอัตโนมัติหมายเลข 1
เลือก 1 หมายเลข 0
เลือก2 หมายเลข 0
เลือก 3 หมายเลข 0
เลือก 4 หมายเลข 0
เลือก 5 หมายเลข 0
เลือก 6 หมายเลข 0
select7 หมายเลข 0
หลังจากสร้างฐานข้อมูลแล้ว มาสร้างแหล่งข้อมูลบนเซิร์ฟเวอร์กันดีกว่า ขั้นแรกให้เรียกใช้ "ODBC" ใน "Control Panel" เลือก "System DSN" กดปุ่ม "Add" เลือก "Microsoft Access Driver" กดปุ่ม "Finish" หลังจากเลือก จากนั้นคลิก "Data Source" ใน การตั้งค่า ODBC ป้อนชื่อของฐานข้อมูลในช่องป้อนข้อมูล "ชื่อ" ในกรณีนี้คือ researchdb จากนั้นกดปุ่ม "เลือก" เพื่อเลือกไฟล์ฐานข้อมูล (คุณจะไม่บอกว่าคุณลืมว่าฐานข้อมูลที่คุณเพิ่งออกแบบอยู่ที่ไหน มีอยู่) และกด "ตกลง" หลังจากเลือกแล้ว คุณสามารถดูแหล่งข้อมูลการวิจัยที่สร้างขึ้นใหม่ได้ ด้วยวิธีนี้เราสามารถเรียกมันได้ใน ASP
select.asp:
< %
คำสั่ง if ด้านล่างมีไว้เพื่อตรวจสอบว่าผู้ใช้ได้ทำการเลือกหรือไม่ โดยการตรวจสอบว่าที่เลือกนั้นว่างเปล่าหรือไม่
ถ้า request.form("options") < >ว่างเปล่าแล้ว
% >
< %
คำสั่ง if ต่อไปนี้จะเปรียบเทียบค่าของทั้งสองคอลเลกชัน (ServerVariables และ Cookies) ของ Request เพื่อป้องกันไม่ให้ผู้ใช้กดส่งอย่างต่อเนื่องและส่งผลต่อผลลัพธ์ของการตรวจสอบ
ถ้าไม่ใช่ Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") แล้ว
เขียนข้อมูล IP ของลูกค้าที่เยี่ยมชมลงในคุกกี้
response.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR")
-
-
สร้างวัตถุการเชื่อมต่อและเปิดฐานข้อมูลที่บันทึกผลการสำรวจ
ตั้งค่า conn=server.createobject("ADODB.CONNECTION")
conn.open "researchdb"
% >
< %
กำหนดตัวแปร
หรี่แสง
dimsql
เลือกสลัว
เลือก=request.form("ตัวเลือก")
สร้างวัตถุ Recordset เปิดวัตถุโดยใช้วิธี Open และแก้ไขข้อมูลที่เกี่ยวข้องในเวลาเดียวกัน
ตั้งค่า rs=server.createobject("adodb.recordset")
แก้ไขข้อมูลในการวิจัยตารางข้อมูล กล่าวคือ เพิ่มจำนวนคะแนนโหวตที่สอดคล้องกันขึ้น 1
sql="อัปเดตชุดการวิจัย select"&selected&"=select"&selected&"+1 โดยที่ id=1"
rs.open sql,conn,3,3
ล้างวัตถุคอลเลกชันบันทึกออกจากหน่วยความจำ
ตั้งค่า rs=nothing
การเชื่อมต่อที่ใกล้ชิด
เชื่อมต่อปิด
ล้างวัตถุการเชื่อมต่อออกจากหน่วยความจำ
ตั้งค่า conn=ไม่มีอะไร
เชื่อมต่อกับเพจเพื่อเรียกดูผลการสำรวจ
response.redirect "viewresult.asp"
อื่น
Response.write "การแจ้งเตือนความล้มเหลวในการลงคะแนนเสียง: คุณเพิ่งลงคะแนน ขอบคุณสำหรับการสนับสนุน!"
สิ้นสุดถ้า
อื่น
Response.write "การแจ้งการลงคะแนนล้มเหลว: คุณลืมเลือก!"
สิ้นสุดถ้า
% >
3. เรียกดูผลการสำรวจ (viewresult.asp)
ในตัวอย่างนี้ แผนภูมิแท่งจะใช้เพื่อแสดงผลการสำรวจด้วยภาพ วิธีการคือการคูณค่าเปอร์เซ็นต์ของจำนวนคะแนนเสียงสำหรับตัวเลือกให้เป็นจำนวนคะแนนทั้งหมด คูณ 5 และค่าผลลัพธ์จะถูกใช้เป็นแถบ ความกว้างของการแสดง bar.gif (คุณสามารถใช้เครื่องมือรูปภาพทั่วไปเพื่อสร้างแผนภูมิแท่งไล่ระดับสีขนาดเล็ก หรือดาวน์โหลดทางออนไลน์ได้) เพื่อให้เปอร์เซ็นต์การโหวตที่มีทศนิยมสองตำแหน่ง โปรแกรมจะใช้ฟังก์ชันการปัดเศษ Round ใน VBScript เพื่อความสวยงามจึงนำผลการสำรวจมาแสดงเป็นตารางดังรูป การออกแบบตารางถูกละเว้นจากโค้ดที่ระบุด้านล่าง
viewresult.asp
-
ตั้งค่า conn=server.createobject("ADODB.CONNECTION")
conn.open "researchdb"
-
-
หรี่แสง
dimsql
เลือกสลัว1
เลือกสลัว2
เลือกสลัว3
เลือกสลัว4
เลือกสลัว5
เลือกสลัว6
เลือกสลัว7
รวมสลัว
ตั้งค่า rs=server.createobject("adodb.recordset")
sql = "เลือก * จากการวิจัยโดยที่ id = 1"
rs.open sql,conn,1,1
รวม=rs("select1")+rs("select2")+rs("select3")+
_ rs("select4")+rs("select5")+rs("select6")+rs("select7")
ตรวจสอบว่าจำนวนการโหวตทั้งหมดเป็น 0 หรือไม่ และให้แน่ใจว่าส่วนต่อไปนี้ถูกต้อง
ถ้าทั้งหมด> 0 แล้ว
select1=(rs("select1")/รวม)*100
select2=(rs("select2")/รวม)*100
select3=(rs("select3")/รวม)*100
select4=(rs("select4")/รวม)*100
select5=(rs("select5")/รวม)*100
select6=(rs("select6")/รวม)*100
select7=(rs("select7")/รวม)*100
-
< p >ขอขอบคุณสำหรับการเข้าร่วมของคุณ ด้านล่างนี้คือผลการสำรวจในปัจจุบัน
<p>
◇ความรู้:
< img src=bar.gif width=< %=int(select1*5)% > ความสูง=4 >
< %=rs("select1")% >ระยะเวลา: < %=round(select1,2)% >%< br >
◇การศึกษา:
< img src=bar.gif width=< %=int(select2*5)% > ความสูง=4 >
< %=rs("select2")% >ระยะเวลา: < %=round(select2,2)% >%< br >
◇เงิน:
< img src=bar.gif width=< %=int(select3)*5% > ความสูง=4 >
< %=rs("select3")% >ระยะเวลา: < %=round(select3,2)% >%< br >
◇ความรัก:
< img src=bar.gif width=< %=int(select4)*5% > ความสูง=4 >
< %=rs("select4")% >ระยะเวลา: < %=round(select4,2)% >%< br >
◇อุดมคติ:
< img src=bar.gif width=< %=int(select5)*5% > ความสูง=4 >
< %=rs("select5")% >ระยะเวลา: < %=round(select5,2)% >%< br >
◇จิตสำนึกประชาธิปไตย:
< img src=bar.gif width=< %=int(select6)%*5 > ความสูง=4 >
< %=rs("select6")% >ระยะเวลา: < %=round(select6,2)% >%< br >
◇ความคิดทางวิทยาศาสตร์:
< img src=bar.gif width=< %=int(select7)%*5 > ความสูง=4 >
< %=rs("select7")% >ผู้คน: < %=round(select7,2)% >%< /p >
< p align="center" >แล้ว: < %=total% > ผู้คนมีส่วนร่วมในการสำรวจ < br >< br >
【< a href="javascript:window.close()" >ปิดหน้าต่าง</a>】</p>
<p>
-
อื่น
response.write "ยังไม่มีใครเข้าร่วมการสำรวจ"
สิ้นสุดถ้า
฿.ปิด
ตั้งค่า rs=nothing
เชื่อมต่อปิด
ตั้งค่า conn=ไม่มีอะไร
-
หมายเหตุ:
รหัสข้างต้นได้รับการแก้ไขใน WindowsNT4.0 Chinese (Pack 6)/IIS4.0
ASP สามารถดำเนินการได้ในสภาพแวดล้อมต่อไปนี้:
1. Windows NT Server 4.0 / IIS3.0 หรือสูงกว่า 2. Windows NT WorkStation 4.0 / Microsoft Peer Web Service 3.0 หรือสูงกว่า 3. Windows 95/98 / Microsoft Personal Web Server 1.0a หรือสูงกว่า