인터넷의 인기로 인해 온라인 설문조사를 통해 더 나은 결과를 얻을 수 있는 경우가 많습니다. 귀하의 개인 웹사이트에 흥미로운 질문 설문조사 게시판을 설치하면 웹사이트에 많은 색상을 추가할 수 있으며, 설문조사 결과를 통해 귀하의 웹사이트에 대한 네티즌의 의견을 더욱 정확하게 알 수 있습니다. 웹마스터로서 귀하의 웹사이트가 특정 주제에 대한 설문조사도 수행해야 하고 다른 사람이 무료로 제공하는 설문조사 게시판을 사용하는 것을 싫어한다면(무료에는 광고 등의 가격이 따르는 경우가 많습니다!) 10분의 시간을 투자할 것을 제안합니다. ASP를 사용하여 설문조사 게시판을 만드는 방법을 소개하는 이 기사를 읽어보세요. 기사에 있는 코드를 컴퓨터에 복사하고 약간만 수정하면 즉시 나만의 맞춤형 설문조사 보드를 갖게 됩니다. 좋아요, 힘내시고 아래를 내려다보세요.
이 설문조사 게시판에는 설문조사 질문 표시(research.html), 사용자 선택 처리(select.asp), 설문조사 결과 보기(viewresult.asp)의 세 가지 파일이 있습니다. 설계 아이디어는 다음과 같습니다. ASP는 양식에서 전송된 정보를 획득하고 이에 따라 설문 조사의 투표 수를 기록하는 데이터베이스를 수정합니다. 그런 다음 ASP는 데이터베이스를 읽고 각 설문 조사 질문에 대한 투표 수를 획득하고 해당 막대를 조정합니다. 투표수에 따른 차트 표시, 직관적이고 비례적인 방식으로 설문 결과를 제공합니다. 프로그램의 핵심 사항에 대해 더 자세히 설명했으며 여기서는 ASP에 대한 기본 지식을 다루지 않겠습니다. 독자분들은 타오바 ASP 칼럼에서 확인하실 수 있습니다. 물론, 자신의 서버에서 프로그램을 디버그할 때 이해가 되지 않는 부분이 있으면 주변의 ASP 기술 매뉴얼을 확인하여 개체나 메소드, 함수의 자세한 구문을 보고 수정해 보시기를 바라겠습니다. 결과가 어떻게 변하는지 확인해보세요. —— 이것은 프로그래밍을 배우는 좋은 방법입니다.
1. 설문조사 질문 표시(research.html)
설문조사 질문의 디자인은 실용적이거나 흥미로워야 하며, 웹페이지에 표시되는 스타일은 단순하거나 생동감이 있을 수 있습니다. 저자 홈페이지에 있는 질문에 "21세기에 가장 중요한 것은 무엇인가?"라는 흥미로운 설문조사가 있는데, 문제를 설명하기 위해 다음 코드에서는 미학적 변형을 위한 코드를 생략했습니다. 테이블과 기타 기술을 사용하여 설문조사 질문을 아름답게 표시합니다. Ti가 용을 바꾸게 하기 위해 Lai Ta 단풍나무가 코 갈퀴를 흔들고 Gui를 이용했다고 Jun이 말했습니까?
연구색인.html:
< html >
<title>설문조사위원회 테스트</title>
<머리>
< !-- 시작: 새 창 정의-- >
<스크립트 언어=자바스크립트>
< !--
var newWindow = null
함수OpenWindow(htmurl)
{
if (!newWindow || newWindow.closed)
{
새로운 창 =
window.open(htmurl,"newwin","toolbar=no,resiza =no,scrollbars=no,width=400,height=280");
}또 다른
{
newWindow.focus();
}
}
//-- >
</ /스크립트 >
<!-- end: 새로 열린 창을 정의합니다-->
</ /머리 >
<본문>
< !-- 시작: 설문조사 질문, 옵션 -- >
< p >21세기에 가장 중요한 것은 무엇이라고 생각하시나요? < /p >
< form method="POST" action="vote/select.asp" name="research" LANGUAGE="javascript"
onSubmit="OpenWindow()" target="newwin" >
< p 정렬="왼쪽" >
<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 >
< input type="submit" value="submit" name="voting" >
< input type="button" value="View" name="viewing" onClick="OpenWindow(vote/viewresult.asp)" >
< /양식>
< !-- 시작: 설문조사 질문, 옵션 -- >
< /본문 >
< /html >
2. 사용자 선택 처리(select.asp)
위의 설문 조사 옵션을 기반으로 설문 조사 투표를 기록하는 데이터베이스 Researchdb.mdb(예: Access)의 디자인을 생각해 냈습니다. 테이블 이름은 다음과 같습니다. 데이터베이스와 테이블이 위 이름으로 저장되지 않은 경우 후속 절차 및 작업에서 그에 맞게 수정하는 것을 잊지 마십시오.
설문조사 투표 번호를 저장하는 테이블 리서치:
필드명 데이터 유형 기본값
아이디 자동번호 1
선택1 번호 0
select2 숫자 0
select3 숫자 0
select4 숫자 0
select5 숫자 0
select6 숫자 0
select7 숫자 0
데이터베이스를 구축한 후 서버에 데이터 소스를 생성해 보겠습니다. 먼저 "제어판"에서 "ODBC"를 실행하고 "시스템 DSN"을 선택한 후 "추가" 버튼을 누르고 "Microsoft Access Driver"를 선택하고 선택 후 "마침" 버튼을 누른 후 "데이터 소스"를 클릭합니다. ODBC 설정 "이름" 입력 상자에 데이터베이스 이름(이 경우에는 Researchdb)을 입력한 다음 "선택" 버튼을 눌러 데이터베이스 파일을 선택합니다(방금 설계한 데이터베이스가 어디에 있는지 잊어버렸다고 말할 수는 없습니다). 존재), 선택 후 "확인"을 누르면 새로 생성된 데이터 소스인 Researchdb를 확인할 수 있습니다. 이런 식으로 ASP에서 호출할 수 있습니다.
select.asp:
< %
아래 if 문은 selected가 비어 있는지 확인하여 사용자가 선택을 했는지 확인하는 것입니다.
if request.form("options") < >Empty then
% >
< %
다음 if 문은 사용자가 계속해서 제출을 눌러 조사 결과에 영향을 미치는 것을 방지하기 위해 요청의 두 컬렉션(ServerVariables 및 Cookies) 값을 비교합니다.
그렇지 않은 경우 Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") 다음
방문한 고객의 IP정보를 쿠키에 기록
response.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR")
%>
<%
Connection 개체를 설정하고 설문조사 결과를 기록하는 데이터베이스를 엽니다.
conn=server.createobject("ADODB.CONNECTION")을 설정합니다.
conn.open "연구DB"
% >
< %
변수 정의
조광기
딤SQL
어둡게 선택됨
selected=request.form("옵션")
Recordset 개체를 만들고 Open 메서드를 사용하여 개체를 열고 동시에 해당 데이터를 수정합니다.
rs=server.createobject("adodb.recordset")를 설정합니다.
데이터 테이블 조사의 데이터를 수정합니다. 즉, 해당 투표 수를 1만큼 늘립니다.
sql="연구 세트 업데이트 select"&selected&"=select"&selected&"+1 여기서 id=1"
rs.open SQL,콘,3,3
메모리에서 레코드 수집 개체 지우기
rs=아무것도 설정하지 않음
가까운 연결
연결 닫기
메모리에서 연결 개체 지우기
conn=아무것도 설정하지 않음
설문조사 결과를 찾아보려면 페이지에 연결하세요.
response.redirect "viewresult.asp"
또 다른
Response.write "투표 실패 알림: 방금 투표하셨습니다. 지원해 주셔서 감사합니다!"
종료하면
또 다른
Response.write "투표 실패 프롬프트: 선택하는 것을 잊으셨습니다!"
종료하면
% >
3. 설문조사 결과 찾아보기(viewresult.asp)
이 예에서는 설문조사 결과를 시각적으로 표시하기 위해 막대 차트를 사용했습니다. 해당 옵션에 대한 투표 수의 백분율 값을 총 투표 수에 곱하는 방법입니다. 5만큼, 결과 값은 막대로 사용됩니다. bar.gif 표시의 너비입니다(일반적인 이미지 도구를 사용하여 작은 그라데이션 막대 차트를 만들거나 온라인으로 다운로드할 수 있음). 소수점 이하 두 자리까지 투표율을 표시하기 위해 프로그램에서는 VBScript의 반올림 기능 Round가 사용됩니다. 아름다움을 위해 설문조사 결과를 그림과 같이 표로 표시하였습니다. 아래 코드에서는 테이블의 디자인이 생략되었습니다.
viewresult.asp
<%
conn=server.createobject("ADODB.CONNECTION")을 설정합니다.
conn.open "연구DB"
%>
<%
조광기
딤SQL
희미한 선택1
희미한 선택2
희미한 선택3
희미한 선택 4
희미한 선택5
희미한 선택6
희미한 선택7
희미한 합계
rs=server.createobject("adodb.recordset")를 설정합니다.
sql="id=1인 연구에서 *를 선택하세요."
rs.open SQL,콘,1,1
total=rs("선택1")+rs("선택2")+rs("선택3")+
_ rs("선택4")+rs("선택5")+rs("선택6")+rs("선택7")
총 투표수가 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 너비=< %=int(select1*5)% > 높이=4 >
< %=rs("select1")% >기간: < %=round(select1,2)% >%< br >
◇교육:
< img src=bar.gif 너비=< %=int(select2*5)% > 높이=4 >
< %=rs("select2")% >기간: < %=round(select2,2)% >%< br >
◇돈:
< img src=bar.gif 너비=< %=int(select3)*5% > 높이=4 >
< %=rs("select3")% >기간: < %=round(select3,2)% >%< br >
◇사랑:
< img src=bar.gif 너비=< %=int(select4)*5% > 높이=4 >
< %=rs("select4")% >기간: < %=round(select4,2)% >%< br >
◇이상적:
< img src=bar.gif 너비=< %=int(select5)*5% > 높이=4 >
< %=rs("select5")% >기간: < %=round(select5,2)% >%< br >
◇민주주의의식
< img src=bar.gif 너비=< %=int(select6)%*5 > 높이=4 >
< %=rs("select6")% >기간: < %=round(select6,2)% >%< br >
◇과학적 사고:
< img src=bar.gif 너비=< %=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.닫기
rs=아무것도 설정하지 않음
연결 닫기
conn=아무것도 설정하지 않음
%>
참고:
위 코드는 WindowsNT4.0 중국어(팩 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 또는 그 이상