首页 > 解决方案 > 如何使用 php mysql 在网页上显示随机问题及其选项?

问题描述

实际上,我想在网页中显示一些来自数据库(mysql)的随机问题,用户可以使用单选按钮回答该问题

这是我使用 php 在网页中显示数据的代码

public function loadQuestions() {
   try {
       $stmt = $this->conn->prepare('SELECT * FROM questions');
       $stmt->execute();

       return $stmt;
   }
   catch(PDOException $e)
    {
        echo $e->getMessage();
    }
}

我从我的显示页面(quiz.php)中调用了该函数

  $stmt = $auth_user->loadQuestions(); 

    <form action="#">
          <!-- this backend logic -->
            <?php 
                 foreach($stmt as $row) {

            ?>
            <!-- backeng logic close -->     
               <div class="card-panel light-blue darken-1"><?php echo $row['Question_id'];
                                                                 echo '&nbsp'; 
                                                                 echo $row['question']; 
                                                                 echo '?'
                                                                 ?></div>

                        <p>
                          <label>
                            <input name="group3" type="radio" value="<?php $row['option1'] ?>" />
                            <span><?php echo $row['option1'] ?></span>
                          </label>
                        </p>
                        <p>
                          <label>
                            <input name="group3" type="radio" value="<?php $row['option2'] ?>" />
                            <span><?php echo $row['option2'] ?></span>
                          </label>
                        </p>
                        <p>
                          <label>
                            <input name="group3" type="radio"  value="<?php $row['option3'] ?>" />
                            <span><?php echo $row['option3'] ?></span>
                          </label>
                        </p>
                        <p>
                          <label>
                            <input name="group3" type="radio" value="<?php $row['option4'] ?>" />
                            <span><?php echo $row['option4'] ?></span>
                          </label>
                        </p>

                        <?php

                }

                        ?>
                          <!-- submit button -->
                                <div class="card">
                                <div class="card-content">
                                        <p>
                                          <label>
                                            <input type="checkbox" onchange="document.getElementById('submitValue').disabled = !this.checked;"/>
                                            <span>I agree that, And I'm sure to submit my answers.</span>
                                          </label>
                                        </p>
                                        <div class="col s6 offset-s10">
                                        <button class="btn waves-effect waves-light" id="submitValue" disabled type="submit">Submit
                                            <i class="material-icons right">send</i>
                                          </button>
                                        </div>
                                </div>
                                </div>
                          <!-- submit button end      -->
                    </form> 

但是,问题是,当我选择单选按钮时,它不会将 foreach() 循环返回的每一行视为单独的问题。

最好的方法是什么?

提前致谢...

标签: phpmysql

解决方案


您可以使用 Rand() 随机和 limt 限制行结果

SELECT * 
FROM questions 
ORDER BY RAND()
LIMIT 15

推荐阅读