Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian

Cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian

王林
王林asal
2023-08-26 13:29:061519semak imbas

Cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian

Cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian

Dengan perkembangan Internet, orang ramai perlu menggunakan soal selidik dalam penyelidikan pasaran, tinjauan kepuasan pengguna, penyelidikan akademik dan bidang lain. Tinjauan soal selidik dalam talian telah menjadi salah satu kaedah yang paling popular dan mudah pada masa ini. Artikel ini akan mengambil bahasa pembangunan PHP sebagai contoh untuk memperkenalkan cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian yang mudah, dan melampirkan contoh kod.

  1. Persediaan alam sekitar
    Pertama, kita perlu menyediakan persekitaran pembangunan yang diperlukan. Adalah disyorkan untuk menggunakan versi PHP terkini dan pangkalan data MySQL, serta mana-mana persekitaran pelayan web. Kami menganggap bahawa anda telah berjaya menyediakan persekitaran ini dan dapat membangunkan PHP.
  2. Reka bentuk pangkalan data
    Seterusnya, kita perlu mereka bentuk pangkalan data untuk menyimpan data berkaitan soal selidik. Kita boleh mencipta pangkalan data bernama "soal selidik" dan mencipta jadual bernama "tinjauan" untuk menyimpan maklumat soal selidik. Struktur jadual boleh mengandungi medan seperti berikut:
  • id: pengecam unik soal selidik, kunci utama, kenaikan automatik
  • tajuk: tajuk soal selidik
  • penerangan: penerangan soal selidik
  • dicipta_di: kemas kini borang soal selidik: masa kemas kini borang soal selidik:
  • masa
Kita juga perlu membuat jadual yang dinamakan "soalan" untuk menyimpan soalan soal selidik. Struktur jadual boleh mengandungi medan seperti berikut:

    id: pengecam unik soalan, kunci utama, kenaikan automatik
  • survey_id: pengecam unik soal selidik, kunci asing, yang dikaitkan dengan jadual "tinjauan"
  • kandungan: kandungan soalan
  • jenis: soalan Jenis
  • dicipta_pada: Masa penciptaan soalan
  • dikemaskini_pada: Masa kemas kini soalan
    Reka bentuk halaman
  1. Seterusnya, kita perlu mereka bentuk halaman untuk memaparkan soal selidik dan jawapan pengguna. Kita boleh mencipta fail bernama "index.php" sebagai halaman utama, di mana pengguna boleh melihat dan mengisi soal selidik.
  2. <?php
    // 连接数据库
    $conn = new mysqli('localhost', 'username', 'password', 'questionnaires');
    if ($conn->connect_error) {
        die("连接数据库失败:" . $conn->connect_error);
    }
    
    // 查询问卷
    $sql = "SELECT * FROM surveys";
    $result = $conn->query($sql);
    
    // 显示问卷
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            echo "<h1>{$row['title']}</h1>";
            echo "<p>{$row['description']}</p>";
            
            // 查询问题
            $questionSql = "SELECT * FROM questions WHERE survey_id = {$row['id']}";
            $questionResult = $conn->query($questionSql);
            
            // 显示问题
            if ($questionResult->num_rows > 0) {
                while ($questionRow = $questionResult->fetch_assoc()) {
                    echo "<p>{$questionRow['content']}</p>";
                    
                    // 根据问题类型显示不同的输入框
                    if ($questionRow['type'] == 'text') {
                        echo "<input type='text' name='answer{$questionRow['id']}'><br>";
                    } elseif ($questionRow['type'] == 'checkbox') {
                        echo "<input type='checkbox' name='answer{$questionRow['id']}[]' value='Option 1'>选项1<br>";
                        echo "<input type='checkbox' name='answer{$questionRow['id']}[]' value='Option 2'>选项2<br>";
                        echo "<input type='checkbox' name='answer{$questionRow['id']}[]' value='Option 3'>选项3<br>";
                    } elseif ($questionRow['type'] == 'radio') {
                        echo "<input type='radio' name='answer{$questionRow['id']}' value='Option 1'>选项1<br>";
                        echo "<input type='radio' name='answer{$questionRow['id']}' value='Option 2'>选项2<br>";
                        echo "<input type='radio' name='answer{$questionRow['id']}' value='Option 3'>选项3<br>";
                    }
                }
            }
            
            // 显示提交按钮
            echo "<input type='submit' value='提交'>";
        }
    }
    
    // 关闭数据库连接
    $conn->close();
    ?>
    Pemprosesan data
  1. Selepas pengguna mengisi borang soal selidik dan mengklik butang hantar, kami perlu memproses jawapan pengguna dan menyimpannya dalam pangkalan data.
  2. <?php
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        // 连接数据库
        $conn = new mysqli('localhost', 'username', 'password', 'questionnaires');
        if ($conn->connect_error) {
            die("连接数据库失败:" . $conn->connect_error);
        }
        
        // 处理用户答案
        foreach ($_POST as $key => $value) {
            if (strpos($key, 'answer') === 0) {
                $questionId = substr($key, 6);
                $answer = is_array($value) ? implode(", ", $value) : $value;
                
                $sql = "INSERT INTO answers (question_id, answer) VALUES ($questionId, '$answer')";
                if ($conn->query($sql) !== TRUE) {
                    echo "插入答案失败:" . $conn->error;
                }
            }
        }
        
        // 关闭数据库连接
        $conn->close();
    }
    ?>
Dengan contoh kod di atas, kami boleh melaksanakan fungsi soal selidik dalam talian yang mudah. Apabila pengguna melawat halaman utama, soal selidik yang sepadan akan dipaparkan dan kotak input akan disediakan untuk pengguna mengisi. Apabila pengguna menyerahkan jawapan, kami menyimpannya dalam pangkalan data untuk analisis seterusnya.

Sudah tentu, ini hanyalah contoh mudah, kita boleh mengembangkan dan mengoptimumkan kod mengikut keperluan sebenar. Sebagai contoh, anda boleh menambah logik pengesahan untuk memastikan kesahihan input pengguna, menambah sokongan berbilang bahasa untuk soal selidik, dsb.

Saya harap artikel ini dapat membantu anda memahami cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian yang mudah. Semoga berjaya dengan perjalanan pembangunan anda!

Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan fungsi soal selidik dalam talian. 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