>  기사  >  백엔드 개발  >  PHP를 통해 간단한 온라인 설문지 시스템을 작성하는 방법

PHP를 통해 간단한 온라인 설문지 시스템을 작성하는 방법

王林
王林원래의
2023-09-28 09:17:091426검색

PHP를 통해 간단한 온라인 설문지 시스템을 작성하는 방법

PHP를 통해 간단한 온라인 설문지 시스템을 작성하는 방법

소개:
온라인 설문지 시스템은 현대 데이터 수집 및 시장 조사에서 중요한 역할을 합니다. 이 기사에서는 PHP를 사용하여 사용자 피드백과 데이터를 수집하는 간단한 온라인 설문지 시스템을 작성하는 방법을 알아봅니다. 우리는 데이터베이스 생성 및 설계, 프런트엔드 인터페이스 설계, 백엔드 PHP 코드 작성을 포함합니다. 시작하자!

1단계: 데이터베이스 디자인
먼저, 설문지 시스템의 데이터를 저장할 데이터베이스를 만들어야 합니다. MySQL을 데이터베이스 관리 시스템으로 사용할 수 있습니다. 다음은 간단한 데이터베이스 디자인 예입니다.

  1. "surveys"라는 데이터베이스를 만듭니다.
  2. 질문에 대한 데이터를 저장하기 위해 "surveys" 데이터베이스에 "questions"라는 테이블을 만듭니다. 테이블에는 ID, 질문, 유형 등의 필드가 포함될 수 있습니다.
  3. 사용자의 답변 데이터를 저장하기 위해 "설문조사" 데이터베이스에 "답변"이라는 테이블을 만듭니다. 테이블에는 id, 질문 ID, 답변 등의 필드가 포함될 수 있습니다.

2단계: 프런트 엔드 인터페이스 디자인
다음으로, 질문을 표시하고 사용자 답변을 수집하기 위한 사용자 친화적인 프런트 엔드 인터페이스를 디자인해야 합니다. HTML과 CSS를 사용하여 프런트엔드 인터페이스를 만들 수 있습니다. 다음은 간단한 샘플 코드입니다.

<!DOCTYPE html>
<html>
<head>
    <title>调查问卷系统</title>
    <style>
        .question {
            margin-bottom: 10px;
        }

        .submit-btn {
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <h1>调查问卷</h1>

    <form action="submit.php" method="post">
        <?php
        // 根据数据库中的问题数据,动态生成问题列表
        $questions = [
            [
                'id' => 1,
                'question' => '您对公司的产品是否满意?',
                'type' => '单选',
                'options' => ['非常满意', '满意', '一般', '不满意']
            ],
            [
                'id' => 2,
                'question' => '您的年龄段是?',
                'type' => '单选',
                'options' => ['18-25岁', '26-35岁', '36-45岁', '45岁以上']
            ],
            // 添加更多的问题...
        ];

        foreach ($questions as $question) {
            echo '<div class="question">';
            echo '<label for="question-' . $question['id'] . '">' . $question['question'] . '</label><br>';

            if ($question['type'] === '单选') {
                foreach ($question['options'] as $option) {
                    echo '<input type="radio" name="question-' . $question['id'] . '" value="' . $option . '"> ' . $option . '<br>';
                }
            } elseif ($question['type'] === '多选') {
                foreach ($question['options'] as $option) {
                    echo '<input type="checkbox" name="question-' . $question['id'] . '[]" value="' . $option . '"> ' . $option . '<br>';
                }
            } elseif ($question['type'] === '文本') {
                echo '<textarea name="question-' . $question['id'] . '"></textarea>';
            }

            echo '</div>';
        }
        ?>

        <input type="submit" class="submit-btn" value="提交">
    </form>
</body>
</html>

3단계: 백엔드 코드 작성
마지막으로 프론트엔드 인터페이스에서 제출된 데이터를 처리하고 데이터를 데이터베이스에 저장하는 PHP 코드를 작성해야 합니다. 다음은 간단한 샘플 코드입니다:

<?php
// 获取问题和答案数据
$questions = [
    ['id' => 1, 'question' => '您对公司的产品是否满意?'],
    ['id' => 2, 'question' => '您的年龄段是?'],
    // 添加更多的问题...
];

// 创建一个名为“surveys”的数据库连接
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'surveys';

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查数据库连接是否成功
if ($conn->connect_error) {
    die('数据库连接失败:' . $conn->connect_error);
}

// 处理提交的表单数据
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    foreach ($questions as $question) {
        $questionId = $question['id'];
        $answer = isset($_POST['question-' . $questionId]) ? $_POST['question-' . $questionId] : '';

        // 将答案保存到数据库中的“answers”表
        $sql = "INSERT INTO answers (question_id, answer) VALUES ('$questionId', '$answer')";

        if ($conn->query($sql) !== TRUE) {
            echo '保存数据时出错:' . $conn->error;
        }
    }
}

$conn->close();
?>

요약:
위 단계를 통해 PHP를 사용하여 간단한 온라인 설문지 시스템을 작성하는 방법을 배웠습니다. 데이터베이스를 사용하여 질문 및 답변 데이터를 저장하고, 사용자 친화적인 프런트 엔드 인터페이스를 설계하여 질문을 표시하고 답변을 수집하며, PHP 코드를 사용하여 사용자가 제출한 데이터를 처리하고 데이터베이스에 저장합니다. 이 글이 여러분에게 도움이 되기를 바라며, 성공적인 온라인 설문조사 시스템을 기원합니다!

위 내용은 PHP를 통해 간단한 온라인 설문지 시스템을 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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