Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menulis sistem soal selidik dalam talian yang mudah melalui PHP

Bagaimana untuk menulis sistem soal selidik dalam talian yang mudah melalui PHP

王林
王林asal
2023-09-28 09:17:091495semak imbas

Bagaimana untuk menulis sistem soal selidik dalam talian yang mudah melalui PHP

Cara menulis sistem soal selidik dalam talian yang mudah melalui PHP

Pengenalan:
Sistem soal selidik dalam talian memainkan peranan penting dalam pengumpulan data moden dan penyelidikan pasaran. Dalam artikel ini, kita akan belajar cara menulis sistem soal selidik dalam talian yang mudah menggunakan PHP untuk mengumpul maklum balas dan data pengguna. Kami akan melibatkan penciptaan dan reka bentuk pangkalan data, reka bentuk antara muka bahagian hadapan, dan penulisan kod PHP bahagian belakang. Mari mulakan!

Langkah Pertama: Reka Bentuk Pangkalan Data
Pertama, kita perlu mencipta pangkalan data untuk menyimpan data sistem soal selidik. Kita boleh menggunakan MySQL sebagai sistem pengurusan pangkalan data. Berikut ialah contoh reka bentuk pangkalan data yang mudah:

  1. Buat pangkalan data bernama "kaji selidik"
  2. Buat jadual bernama "soalan" dalam pangkalan data "kaji selidik" untuk menyimpan data bagi soalan. Jadual boleh mengandungi medan: id, soalan, jenis, dsb.
  3. Buat jadual bernama "jawapan" dalam pangkalan data "tinjauan" untuk menyimpan data jawapan pengguna. Jadual boleh mengandungi medan: id, question_id, jawapan, dsb.

Langkah 2: Reka bentuk antara muka hadapan
Seterusnya, kita perlu mereka bentuk antara muka hadapan yang mesra pengguna untuk memaparkan soalan dan mengumpul jawapan pengguna. Kita boleh menggunakan HTML dan CSS untuk mencipta antara muka hadapan. Berikut ialah contoh kod mudah:

<!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>

Langkah 3: Penulisan kod belakang
Akhir sekali, kita perlu menulis kod PHP untuk memproses data yang diserahkan oleh antara muka bahagian hadapan dan menyimpan data ke pangkalan data. Berikut ialah contoh kod mudah:

<?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();
?>

Ringkasan:
Melalui langkah di atas, kami telah mempelajari cara menggunakan PHP untuk menulis sistem soal selidik dalam talian yang mudah. Gunakan pangkalan data untuk menyimpan data soal jawab, reka bentuk antara muka hadapan yang mesra pengguna untuk memaparkan soalan dan mengumpul jawapan, dan gunakan kod PHP untuk memproses data yang diserahkan pengguna dan menyimpannya ke pangkalan data. Saya harap artikel ini membantu anda, dan saya berharap anda berjaya dalam sistem soal selidik dalam talian!

Atas ialah kandungan terperinci Bagaimana untuk menulis sistem soal selidik dalam talian yang mudah melalui PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn