>  기사  >  백엔드 개발  >  PHP를 사용하여 간단한 온라인 설문지 기능을 개발하는 방법

PHP를 사용하여 간단한 온라인 설문지 기능을 개발하는 방법

王林
王林원래의
2023-09-20 13:40:521080검색

PHP를 사용하여 간단한 온라인 설문지 기능을 개발하는 방법

PHP를 사용하여 간단한 온라인 설문지 기능을 개발하는 방법

현대 사회에서 설문지는 학술 연구, 시장 조사, 사용자 피드백 등 데이터 수집의 일반적인 방법입니다. 인터넷이 대중화되면서 점점 더 많은 설문지가 온라인 양식으로 전환되기 시작했습니다. 이는 종이 설문지에 드는 비용을 절약할 뿐만 아니라 데이터 계산 및 분석을 더 쉽게 만듭니다. 이 기사에서는 PHP를 사용하여 간단한 온라인 설문지 기능을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. 데이터베이스 설계

먼저, 설문지의 질문과 답변을 저장할 데이터베이스를 설계해야 합니다. 데이터베이스 테이블은 질문 테이블(질문)과 답변 테이블(답변)의 두 가지로 나눌 수 있습니다.

질문 테이블의 필드는 다음과 같이 설계되었습니다.

id - 질문의 고유 식별자
question - 질문의 내용
created_at - 질문의 생성 시간

답변 테이블의 필드는 다음과 같이 설계되었습니다.

id - 답변의 고유 식별자
질문_id - 관련 질문 테이블의 ID
answer - 답변의 내용
created_at - 답변의 생성 시간

2. 설문지 페이지 만들기

PHP에서는 HTML과 CSS를 사용하여 설문지 페이지의 레이아웃과 스타일을 만들 수 있습니다. 다음은 간단한 예입니다:

<!DOCTYPE html>
<html>
<head>
  <title>在线调查问卷</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

  <h1>在线调查问卷</h1>

  <form action="submit.php" method="post">
    <p>问题一:</p>
    <input type="text" name="question1">

    <p>问题二:</p>
    <input type="text" name="question2">

    <p>问题三:</p>
    <input type="text" name="question3">

    <p><input type="submit" value="提交"></p>
  </form>

</body>
</html>

3. 설문지 제출 처리

위 설문지 페이지에서 양식을 설정하고 제출 버튼의 동작을 submit.php로 지정했습니다. 다음으로, 설문지 제출을 처리하기 위해 submit.php 파일을 생성해야 합니다.

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// 获取问卷数据并插入到数据库
$question1 = $_POST['question1'];
$question2 = $_POST['question2'];
$question3 = $_POST['question3'];

// 插入问题数据
$stmt1 = $db->prepare('INSERT INTO questions (question) VALUES (?)');
$stmt1->execute([$question1]);

$stmt2 = $db->prepare('INSERT INTO questions (question) VALUES (?)');
$stmt2->execute([$question2]);

$stmt3 = $db->prepare('INSERT INTO questions (question) VALUES (?)');
$stmt3->execute([$question3]);

// 获取最新插入问题的id
$questionId1 = $db->lastInsertId();
$questionId2 = $db->lastInsertId();
$questionId3 = $db->lastInsertId();

// 处理答案数据
$answer1 = $_POST['answer1'];
$answer2 = $_POST['answer2'];
$answer3 = $_POST['answer3'];

// 插入答案数据
$stmt4 = $db->prepare('INSERT INTO answers (question_id, answer) VALUES (?, ?)');
$stmt4->execute([$questionId1, $answer1]);

$stmt5 = $db->prepare('INSERT INTO answers (question_id, answer) VALUES (?, ?)');
$stmt5->execute([$questionId2, $answer2]);

$stmt6 = $db->prepare('INSERT INTO answers (question_id, answer) VALUES (?, ?)');
$stmt6->execute([$questionId3, $answer3]);

// 提交成功提示
echo "问卷提交成功!";
?>

4. 설문지 결과 표시

PHP를 사용하여 데이터베이스에 쿼리하고 설문지 결과를 막대 차트 형식으로 표시할 수 있습니다. 다음은 간단한 샘플 코드입니다.

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// 查询问题数据
$stmt = $db->query('SELECT * FROM questions');

// 打印问卷问题
foreach ($stmt as $row) {
  echo "<p>问题:".$row['question']."</p>";

  // 查询答案数据
  $stmt2 = $db->prepare('SELECT * FROM answers WHERE question_id = ?');
  $stmt2->execute([$row['id']]);

  // 打印答案数量
  $count = 0;
  foreach ($stmt2 as $row2) {
    $count++;
  }

  echo "<p>答案数量:".$count."</p>";
}
?>

Summary

위 단계를 거쳐 간단한 온라인 설문 기능을 구현했습니다. 사용자가 설문지를 제출하면 데이터가 데이터베이스에 저장되며 PHP를 통해 데이터베이스를 쿼리하고 설문지 결과를 표시할 수도 있습니다. 물론 이는 단순한 예시일 뿐이며, 실제 응용에서는 필요에 따라 기능을 확장하고 최적화할 수 있습니다. 이 글이 PHP를 사용하여 온라인 설문지 기능을 개발하는 초보자에게 도움이 되기를 바랍니다.

위 내용은 PHP를 사용하여 간단한 온라인 설문지 기능을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.