Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour développer une fonction de questionnaire en ligne

Comment utiliser PHP pour développer une fonction de questionnaire en ligne

王林
王林original
2023-08-26 13:29:061536parcourir

Comment utiliser PHP pour développer une fonction de questionnaire en ligne

Comment utiliser PHP pour développer une fonction de questionnaire en ligne

Avec le développement d'Internet, les gens doivent utiliser des questionnaires dans les études de marché, les enquêtes de satisfaction des utilisateurs, la recherche universitaire et d'autres domaines. Les enquêtes par questionnaire en ligne sont actuellement devenues l’une des méthodes les plus populaires et les plus pratiques. Cet article prendra le langage de développement PHP comme exemple pour présenter comment utiliser PHP pour développer une fonction simple de questionnaire en ligne, et joindra un exemple de code.

  1. Préparation de l'environnement
    Tout d'abord, nous devons préparer l'environnement de développement requis. Il est recommandé d'utiliser la dernière version de PHP et la base de données MySQL, ainsi que tout environnement de serveur Web. Nous supposons que vous avez configuré avec succès ces environnements et que vous êtes capable de développer PHP.
  2. Conception de base de données
    Ensuite, nous devons concevoir une base de données pour stocker les données liées au questionnaire. Nous pouvons créer une base de données nommée « questionnaires » et créer une table nommée « enquêtes » pour stocker les informations du questionnaire. La structure de la table peut contenir les champs suivants :
  • id : identifiant unique du questionnaire, clé primaire, auto-incrémentation
  • title : titre du questionnaire
  • description : description du questionnaire
  • created_at : heure de création du questionnaire
  • updated_at : mise à jour du questionnaire time

Nous devons également créer un tableau nommé "questions" pour stocker les questions du questionnaire. La structure de la table peut contenir les champs suivants :

  • id : identifiant unique de la question, clé primaire, auto-incrémentation
  • survey_id : identifiant unique du questionnaire, clé étrangère, associé à la table "enquêtes"
  • contenu : contenu de la question
  • type : Type de question
  • created_at : Heure de création de la question
  • updated_at : Heure de mise à jour de la question
  1. Conception de la page
    Ensuite, nous devons concevoir une page pour afficher le questionnaire et les réponses de l'utilisateur. Nous pouvons créer un fichier nommé "index.php" comme page d'accueil, où les utilisateurs peuvent consulter et remplir le questionnaire.
<?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();
?>
  1. Traitement des données
    Une fois que l'utilisateur a rempli le questionnaire et cliqué sur le bouton Soumettre, nous devons traiter les réponses de l'utilisateur et les stocker dans la base de données.
<?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();
}
?>

Avec l'exemple de code ci-dessus, nous pouvons implémenter une simple fonction de questionnaire en ligne. Lorsqu'un utilisateur visite la page d'accueil, le questionnaire correspondant sera affiché et une zone de saisie sera fournie à l'utilisateur pour qu'il la remplisse. Lorsqu'un utilisateur soumet une réponse, nous la stockons dans la base de données pour une analyse ultérieure.

Bien sûr, ce n'est qu'un exemple simple, nous pouvons étendre et optimiser le code en fonction des besoins réels. Par exemple, vous pouvez ajouter une logique de validation pour garantir la validité des saisies utilisateur, ajouter une prise en charge multilingue pour les questionnaires, etc.

J'espère que cet article pourra vous aider à comprendre comment utiliser PHP pour développer une fonction simple de questionnaire en ligne. Bonne chance dans votre parcours de développement !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn