PHPを使ってオンラインアンケート機能を開発する方法

王林
リリース: 2023-08-26 13:30:01
オリジナル
1526 人が閲覧しました

PHPを使ってオンラインアンケート機能を開発する方法

PHP を使用してオンライン アンケート機能を開発する方法

インターネットの発展に伴い、人々は市場調査、ユーザー満足度調査、学術調査などでインターネットを使用する必要があります。その他の分野のアンケート。オンラインアンケート調査は、現在最も人気があり便利な方法の一つとなっています。この記事では、開発言語PHPを例に、PHPを使って簡単なオンラインアンケート機能を開発する方法をコード例を交えて紹介します。

  1. 環境の準備
    まず、必要な開発環境を準備する必要があります。最新の PHP バージョンと MySQL データベース、および Web サーバー環境を使用することをお勧めします。これらの環境が正常にセットアップされ、PHP を開発できることを前提としています。
  2. データベース設計
    次に、アンケート関連のデータを保存するデータベースを設計する必要があります。 「questionnaires」という名前のデータベースを作成し、アンケート情報を保存する「surveys」という名前のテーブルを作成できます。テーブル構造には次のようなフィールドを含めることができます:
  • id: アンケートの一意の識別子、主キー、自動インクリメント
  • title: アンケートのタイトル
  • description : アンケートの説明
  • created_at: アンケートの作成時間
  • updated_at: アンケートの更新時間

また、質問を保存するために、「questions」という名前のテーブルを作成する必要があります。アンケート。テーブル構造には、次のようなフィールドを含めることができます。

  • id: 質問の一意の識別子、主キー、自動インクリメント
  • survey_id: アンケートの一意の識別子、外部キー、関連
  • ##content: 質問の内容
  • type: 質問の種類
  • created_at: 質問の作成時間
  • updated_at: 質問の更新時間
    ページ デザイン
  1. 次に、アンケートとユーザーの回答を表示するページをデザインする必要があります。 「index.php」という名前のファイルをホームページとして作成し、ユーザーが閲覧してアンケートに記入できるようにします。
  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();
    ?>
    ログイン後にコピー
    データ処理
  1. ユーザーがアンケートに記入して送信ボタンをクリックした後、ユーザーの回答を処理してデータベースに保存する必要があります。
  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();
    }
    ?>
    ログイン後にコピー
上記のコード例を通じて、簡単なオンライン アンケート機能を実装できます。ユーザーがホームページにアクセスすると、対応するアンケートが表示され、ユーザーが記入するための入力ボックスが提供されます。ユーザーが回答を送信すると、その後の分析のためにデータベースに保存されます。

もちろん、これは単なる単純な例であり、実際のニーズに応じてコードを拡張および最適化できます。たとえば、検証ロジックを追加してユーザー入力の有効性を確認したり、アンケートの多言語サポートを追加したりできます。

この記事が、PHP を使用して簡単なオンライン アンケート機能を開発する方法を理解するのに役立つことを願っています。開発の旅の幸運を祈ります!

以上がPHPを使ってオンラインアンケート機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート