[PHP] 설문조사 프로그램 만들기 (3/4) - 설문조사 데이터 테이블에 저장하기

2022. 10. 28. 00:45무료강좌&튜토리얼/PHP

[PHP] 설문조사 프로그램 만들기 (3/4) - 설문조사 데이터 테이블에 저장하기

 

설문조사 프로그램 페이지에서 입력한 데이터를 survey 테이블에 저장한다.

설문조사는 한 계정당 1회만 할 수 있게 만들며 데이터 입력 전에 설문조사 참여 유무를 확인 후 테이블에 데이터를 입력하는 과정으로 진행된다.

 

다음은 survey 테이블에 데이터를 입력하는 예제이다.

[예제: 190_surveySave.php ]

<?php
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/171_session.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/common/179_checkSignSession.php';
  include $_SERVER['DOCUMENT_ROOT'].'/php/cssControlPanel/163_connection.php';

  $surveyKind = $_POST['surveyKind'];

  // 값 유효성 검사
  switch($surveyKind) {
    case 'offlineStore':
    case 'onlineStore':
    case 'website':
    case 'friends':
    case 'academy':
    case 'noMemory':
    case 'etc':
      break;
    default :
      echo "잘못된 값이 입력되었습니다.";
      exit;
      break;
  }

  $memberID = $_SESSION['memberID'];

  // 이미 설문조사를 했는지 확인
  $sql = "SELECT surveyID FROM survey WHERE memberID = {$memberID}";
  $result = $dbConnect->query($sql);

  if($result) {
    $dataCount = $result->num_rows;
    if($dataCount == 0) {
      // 설문조사 가능
      $regDate = time();
      $sql = "INSERT INTO survey (memberID, kind, regDate) ";
      $sql .= "VALUES ('{$memberID}', '{$surveyKind}', '{$regDate}')";
      $result = $dbConnect->query($sql);

      if($result) {
        echo "설문조사 참여 완료<br>";
        echo "<a href='./191_surveyView.php'>설문조사 결과로 이동</a>";
        exit;
      } else {
        echo "저장 실패 - 관리자에게 문의";
        exit;
      }
    } else {
      // 설문조사 불가
      echo "이미 참여하셨습니다.<br>";
      echo "<a href='./191_surveyView.php'>설문조사 결과로 이동</a>";
      exit;
    }
  } else {
    echo "저장실패 - 관리자에게 문의";
    exit;
  }
?>

1. 설문조사 선택 페이지에서 전달받은 값을 변수 surveyKind에 대입한다.

2. 변수 surveyKind가 올바른 값인지 확인한다.

3. 이미 설문조사에 참여한 회원인지 확인하기 위해 회원번호와 같은 레코드가 있는지 확인하기 위한 쿼리문을 만든다.

4. 이미 설문조사에 참여했는지에 대해 확인하기 위해 레코드의 개수를 변수 dataCount에 대입한다.

5. 레코드의 수가 0이면 설문조사에 참여하지 않았음을 의미한다.

6. 설문조사 참여 시간을 변수 regDate에 대입한다.

7. survey 테이블에 데이터를 입력하는 쿼리문을 생성한다.

 

sruvey 테이블에 데이터를 입력하기 위해 설문조사 페이지를 실행하여 데이터를 선택 후 [제출] 버튼을 누른다.

 

실행 URL은 http://localhost/php/survey/189_surveyForm.php 이다.

 

실행결과

 

터미널이나 phpMyAdmin 에 접속하여 survey 테이블의 레코드를 확인할 수 있다.

 

 


 

 

 

초보자를 위한 PHP 200제
김태영 지음 | 정보문화사