sql >> データベース >  >> RDS >> Mysql

MySQLデータベースからランダムな質問を選択します。正解がめちゃくちゃ

    ユーザーに質問すると、データベースからランダムに質問が選択されます。

    次に、ユーザーがフォームを送信すると、別の質問がランダムに選択されます。これは、ユーザーに尋ねた質問ではなく、回答の確認に使用している質問です。

    質問IDを含む非表示の入力をフォームに追加する必要があります

    <input type="hidden" name="question_id" value="<?php echo $question_id ?>" />
    

    そして、答えを確認するときは、必ずデータベースから正しい質問を取得してください

    コードは次のようになります

    <?php
    
    // Check user answer for previous question
    if (isset($_POST['submit'])) {   
        // Retrieve the id of the question you asked
        $previous_question_id = (int) $_POST['question_id']; // cast to integer to prevent sql injection.
    
        // Query database
        $get_question = "SELECT * from questions_table where id = $previous_question_id";
        $result_get_question = mysqli_query($conn, $get_question);
        $row_get_question = mysqli_fetch_array($result_get_question);
    
        // Assign database response to variables
        $correct = $row_get_question['correct'];
        $selected_radio = $_POST['response'];
    
        if ($selected_radio == $correct)
            echo "THAT ANSWER IS CORRECT";
        else
            echo "THAT ANSWER IS WRONG!";
    }
    
    
    // Load new question to ask to the user
    $get_question = "SELECT * from questions_table order by rand() limit 1";
    $result_get_question = mysqli_query($conn,$get_question);
    $row_get_question = mysqli_fetch_array($result_get_question);  
    
    // assign thing we want to print in the template to variable
    $question_id = $row_get_question['question_id'];
    $question = $row_get_question['question'];
    $a1 = $row_get_question['a1'];
    $a2 = $row_get_question['a2'];
    $a3 = $row_get_question['a3'];
    $a4 = $row_get_question['a4'];
    
    ?>
    
    <PASTE YOUR TEMPLATE HERE>
    



    1. ホテル予約システムの価格ルールデータベース設計

    2. 逆mysql_real_escape_string

    3. パラメータがnonedjangoの場合のクエリ

    4. 特定の列を持つすべての行をカウントし、週ごとにグループ化