웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
초간단 설문조사 소스
2004.05.27 12:07
초간단 허접설문조사 소스입니다.
여기서 설문관련 소스 찾을려니까 없는것 같아서 제가 간단하게 만들어 봤습니다.
허접하지만 필요한 분이 있으면 좋겠네요..
설문조사는 총 3개의 페이지로 이루어 집니다.
저는 poll.php, pollinsert.php, pollview.php 이렇게 파일명을 만들었습니다.
제일먼저 mysql db 테이블을 만들어야 겠죠..
CREATE TABLE poll (
id int(11) DEFAULT '0' NOT NULL auto_increment,
answer varchar(20) NOT NULL,
wdate int(11) NOT NULL,
ip varchar NOT NULL,
PRIMARY KEY (id)
);
이렇게 만들면 됩니다. 간단하죠 ^^;;
이제 페이지 소스를 보도록 하겠습니다.
첫번째, poll.php 는 설문페이지 입니다.
제가 만든것은 찬성,반대 두개이지만 더 추가하실수 있습니다.
============== poll.php 소스 ==========================
<html>
<head>
<title>설문조사</title>
<script language=javascript>
function chkAnswer()
{
var Form = eval(document.form1);
var chk = 0;
if(Form.answer[0].checked == true) chk++;
if(Form.answer[1].checked == true) chk++; //답변추가시 이곳에 번호순으로 추가하세요
if(chk == 0) {
alert('선택해주세요. ^^');
return false;
}
Form.action = 'pollinsert.php';
Form.submit();
}
</script>
</head>
<body>
<form name=form1 method=post>
이거 찬성, 반대 말해봐봐~~~~ <br>
//답변추가시 이곳에 value를 번호순으로 추가하시면 됩니다.
찬성 <input type=radio name=answer value=1> <br>
반대 <input type=radio name=answer value=2> <br>
<br>
<a href=javascript:; onClick="chkAnswer(); return false;">설문<a>
</form>
</body>
</html>
두번째, pollinsert.php
이 페이지는 poll.php에서 넘어 온 값을 db에 만든 poll이라는 테이블에 저장하도록 하는 페이지입니다.
============== pollinsert.php 소스 ==========================
<?
$board = "테이블명"; //이곳은 db에 만들었던 테이블명을 적으면 됩니다. 위에서 poll이라고 만들었죠..
$conn = mysql_connect("localhost","db아이디","db비번");
mysql_select_db("db이름", $conn);
$wdate = time();
$ip = getenv("REMOTE_ADDR");
/*
아래 부분은 설문에 중복참여를 방지하는 곳입니다.
현재는 막아 놓았는데 필요하시다면 풀면 됩니다. (// <-이것 제거)
현재 ip주소가 같은면 중복으로 되어 있는데 회원제일 경우 회원 아이디로
변경하셔도 무방합니다.
*/
//$res1 = mysql_query("SELECT ip FROM $board WHERE ip='$ip'",$conn);
// 중복참여 체크
//if(mysql_num_rows($res1)) {
// @mysql_close($conn);
//echo("<script>alert('이미 이벤트에 참여하셧습니다.nn참여해주셔서 감사합니다.^^');history.back();</script>"); exit; }
// 설문 참여 성공 부분입니다. poll.php에서 넘어온 값이 이곳을 통해 db의 poll테이블에 저장니다.
$res2 = mysql_query("INSERT INTO $board (id,answer,wdate,ip) VALUES ('','$answer','$wdate','$ip')",$conn);
if(!$res2) dbError();
@mysql_close($conn);
echo("<script>alert('참여해주셔서 감사합니다.^^');self.location.href='pollview.php'</script>");
//설문을 마치고 돌아가는 페이지... (저는 설문결과보기가 되어 있는 pollview.php로 연결했습니다.
?>
세번째, pollview.php
이 페이지는 설문결과페이지입니다.
몇명이 설문에 응했는지 각번호(질문)를 몇분이 선택했는지 등이 나옵니다.
============== pollview.php 소스 ==========================
<?
$board = "테이블명"; //이곳은 db에 만들었던 테이블명을 적으면 됩니다. 위에서 poll이라고 만들었죠..
$conn = mysql_connect("localhost","db아이디","db비번");
mysql_select_db("db이름", $conn);
/*
각답변에 해당하는 번호를 선택하는 것입니다.
만약 답변이 더 많으면 번호순으로 더 늘리시면 됩니다.
*/
$res1 = mysql_query("select * from $board where answer=1", $conn);
$res2 = mysql_query("select * from $board where answer=2", $conn);
//각각 선택된답변이 몇개인지를 출력
$num1 = mysql_num_rows($res1);
$num2 = mysql_num_rows($res2);
$sum = $num1 + $num2; //전체적으로 답변된것이 몇개인지 출력 (즉 설문참여자가 총몇분인지 출력한다.)
//각 선택된 답변 백분율 구하기
$img1 = (int)(($num1*100)/$sum);
$img2 = (int)(($num2*100)/$sum);
echo("
<html>
<head>
<title>설문조사결과</title>
</head>
<table width=780 border=0 cellspacing=0 cellpadding=0 align=center>
<tr><td>
<table width=780 border=0 cellspacing=0 cellpadding=0 align=center><tr height=10><td></td></tr><tr height=1><td bgcolor=A4A4A4></td></tr><tr height=10><td></td></tr></table>
<table width=780 border=0 cellspacing=0 cellpadding=0 align=center style='border:1px #999999 solid'>
<tr height=25><td colspan=4 bgcolor=666666 align=center><font color=FFFFFF><b> 결과 (총 : $sum 표)</b></font></td></tr>
<tr><td colspan=4 bgcolor=999999></td></tr>
<tr><td>찬성($num1)</td><td><img src='bar.gif' width='$img1' height='13'></td><td>$img1 %</td></tr>
<tr><td>반대($num2)</td><td><img src='bar.gif' width='$img2' height='13'></td><td>$img2 %</td></tr>
</table>
</td></tr>
</table>
</body>
</html>
");
?>
이렇게 끝입니다.. ^^;;
여기서 설문관련 소스 찾을려니까 없는것 같아서 제가 간단하게 만들어 봤습니다.
허접하지만 필요한 분이 있으면 좋겠네요..
설문조사는 총 3개의 페이지로 이루어 집니다.
저는 poll.php, pollinsert.php, pollview.php 이렇게 파일명을 만들었습니다.
제일먼저 mysql db 테이블을 만들어야 겠죠..
CREATE TABLE poll (
id int(11) DEFAULT '0' NOT NULL auto_increment,
answer varchar(20) NOT NULL,
wdate int(11) NOT NULL,
ip varchar NOT NULL,
PRIMARY KEY (id)
);
이렇게 만들면 됩니다. 간단하죠 ^^;;
이제 페이지 소스를 보도록 하겠습니다.
첫번째, poll.php 는 설문페이지 입니다.
제가 만든것은 찬성,반대 두개이지만 더 추가하실수 있습니다.
============== poll.php 소스 ==========================
<html>
<head>
<title>설문조사</title>
<script language=javascript>
function chkAnswer()
{
var Form = eval(document.form1);
var chk = 0;
if(Form.answer[0].checked == true) chk++;
if(Form.answer[1].checked == true) chk++; //답변추가시 이곳에 번호순으로 추가하세요
if(chk == 0) {
alert('선택해주세요. ^^');
return false;
}
Form.action = 'pollinsert.php';
Form.submit();
}
</script>
</head>
<body>
<form name=form1 method=post>
이거 찬성, 반대 말해봐봐~~~~ <br>
//답변추가시 이곳에 value를 번호순으로 추가하시면 됩니다.
찬성 <input type=radio name=answer value=1> <br>
반대 <input type=radio name=answer value=2> <br>
<br>
<a href=javascript:; onClick="chkAnswer(); return false;">설문<a>
</form>
</body>
</html>
두번째, pollinsert.php
이 페이지는 poll.php에서 넘어 온 값을 db에 만든 poll이라는 테이블에 저장하도록 하는 페이지입니다.
============== pollinsert.php 소스 ==========================
<?
$board = "테이블명"; //이곳은 db에 만들었던 테이블명을 적으면 됩니다. 위에서 poll이라고 만들었죠..
$conn = mysql_connect("localhost","db아이디","db비번");
mysql_select_db("db이름", $conn);
$wdate = time();
$ip = getenv("REMOTE_ADDR");
/*
아래 부분은 설문에 중복참여를 방지하는 곳입니다.
현재는 막아 놓았는데 필요하시다면 풀면 됩니다. (// <-이것 제거)
현재 ip주소가 같은면 중복으로 되어 있는데 회원제일 경우 회원 아이디로
변경하셔도 무방합니다.
*/
//$res1 = mysql_query("SELECT ip FROM $board WHERE ip='$ip'",$conn);
// 중복참여 체크
//if(mysql_num_rows($res1)) {
// @mysql_close($conn);
//echo("<script>alert('이미 이벤트에 참여하셧습니다.nn참여해주셔서 감사합니다.^^');history.back();</script>"); exit; }
// 설문 참여 성공 부분입니다. poll.php에서 넘어온 값이 이곳을 통해 db의 poll테이블에 저장니다.
$res2 = mysql_query("INSERT INTO $board (id,answer,wdate,ip) VALUES ('','$answer','$wdate','$ip')",$conn);
if(!$res2) dbError();
@mysql_close($conn);
echo("<script>alert('참여해주셔서 감사합니다.^^');self.location.href='pollview.php'</script>");
//설문을 마치고 돌아가는 페이지... (저는 설문결과보기가 되어 있는 pollview.php로 연결했습니다.
?>
세번째, pollview.php
이 페이지는 설문결과페이지입니다.
몇명이 설문에 응했는지 각번호(질문)를 몇분이 선택했는지 등이 나옵니다.
============== pollview.php 소스 ==========================
<?
$board = "테이블명"; //이곳은 db에 만들었던 테이블명을 적으면 됩니다. 위에서 poll이라고 만들었죠..
$conn = mysql_connect("localhost","db아이디","db비번");
mysql_select_db("db이름", $conn);
/*
각답변에 해당하는 번호를 선택하는 것입니다.
만약 답변이 더 많으면 번호순으로 더 늘리시면 됩니다.
*/
$res1 = mysql_query("select * from $board where answer=1", $conn);
$res2 = mysql_query("select * from $board where answer=2", $conn);
//각각 선택된답변이 몇개인지를 출력
$num1 = mysql_num_rows($res1);
$num2 = mysql_num_rows($res2);
$sum = $num1 + $num2; //전체적으로 답변된것이 몇개인지 출력 (즉 설문참여자가 총몇분인지 출력한다.)
//각 선택된 답변 백분율 구하기
$img1 = (int)(($num1*100)/$sum);
$img2 = (int)(($num2*100)/$sum);
echo("
<html>
<head>
<title>설문조사결과</title>
</head>
<table width=780 border=0 cellspacing=0 cellpadding=0 align=center>
<tr><td>
<table width=780 border=0 cellspacing=0 cellpadding=0 align=center><tr height=10><td></td></tr><tr height=1><td bgcolor=A4A4A4></td></tr><tr height=10><td></td></tr></table>
<table width=780 border=0 cellspacing=0 cellpadding=0 align=center style='border:1px #999999 solid'>
<tr height=25><td colspan=4 bgcolor=666666 align=center><font color=FFFFFF><b> 결과 (총 : $sum 표)</b></font></td></tr>
<tr><td colspan=4 bgcolor=999999></td></tr>
<tr><td>찬성($num1)</td><td><img src='bar.gif' width='$img1' height='13'></td><td>$img1 %</td></tr>
<tr><td>반대($num2)</td><td><img src='bar.gif' width='$img2' height='13'></td><td>$img2 %</td></tr>
</table>
</td></tr>
</table>
</body>
</html>
");
?>
이렇게 끝입니다.. ^^;;
댓글 3
제목 | 글쓴이 | 날짜 |
---|---|---|
심플한 원단위를 콤마로 나타내주기 [2] | zentoo.com | 2003.11.11 |
플래시느낌의 유동적인 메뉴 [9] | jabusim | 2003.11.13 |
동영상 오른쪽 버튼 방지 소스 입니다... [9] | 김성목 | 2003.11.15 |
자바로 만들어진 계산기 [1] | 현규웅 | 2003.11.20 |
팝업공지창 다시 안뜨게 하는 소스[날짜지정가능] [17] | lemin | 2003.11.20 |
3D 효과의 원형 거울을 띄우자. [6] | 줄리앙 | 2003.11.21 |
익스플로러에서 인쇄 누르면 페이지 이동.... [3] | 조한웅 | 2003.11.28 |
크리스마스 날짜 카운터 [1] | keymove | 2003.12.04 |
소스연구1 테이블 자동으로 늘었다 커지기 태클환영 [9] | 박한웅 | 2003.12.04 |
오른버튼 누를때 메뉴 뜨게하기(깔끔버전)
[5]
![]() | 럽 | 2003.12.09 |
소스보기를 일부 차단하는 방법입니다. [12] | Juny. | 2003.12.12 |
들어갈때 시작페이지 설정하는거... [2] | 쉿!비밀 | 2003.12.17 |
링크에 마우스를 올리면 배경 변하게 하는 소스 | 봉팀장 | 2003.12.30 |
화면 오른쪽 아래부분에 떠있는 메뉴 레이어(마우스 오버시 부메뉴 펼쳐짐) [7] | 봉팀장 | 2003.12.30 |
[초간단 자바스크립트!] 아이프레임 이용한 이미지 갤러리(?) | ∑Ztxy | 2004.01.02 |
마우스 올리면 링크 텍스트를 무지개빛으로_12시20분 수정.;; [1] | keymove | 2004.01.06 |
아기창 자동으루 띄우고 엄마창 자동으루 죽이기 -_-;; [13] | 후르츠 | 2004.01.09 |
[초간단 자바스크립트!] 홈페이지접속 시간,날짜 표시기 [3] | ∑Ztxy | 2004.01.09 |
Thinking In Java 2nd Edition
![]() | n25 | 2004.01.14 |
[초간단 자바스크립트(강의)!]나만의 익스플로러창 만들기[허접] [2] | ∑Ztxy | 2004.01.17 |