首页 > 解决方案 > PHP 中的替代 $_POST 方法在循环条件中获取按钮的值

问题描述

我是 PHP 新手,所以我需要你的帮助。

我在 web 中的表处于循环中,因此它会在我的 mySQL phpMyAdmin 数据库中获取值,直到它到达数据库表的末尾。

当按下某个按钮时,我在获取想要显示在表格中的所需值时遇到问题。一旦我按下一个按钮,它实际上会显示它的值,但是,它也显示了另一个按钮的值

在我的结论中,我认为我的 $_POST 代码缺少某些东西或者是一个完全错误。

代码在这里:

<tr>
   <?php
       while($row = mysqli_fetch_assoc($query)){
           $exerciseid = $row['exerciseid'];
            $question = $row['question'];
            $a = $row['answera'];
            $b = $row['answerb'];
            $c = $row['answerc'];
            $correctanswer = $row['answer'];
    ?>
</tr>
<tr>
    <td><?php echo $question?></td>
    <td><button class="btn btn-primary" value="<?php echo $a?>" name="a-submit">A. <?php echo $a?></button></td>
    <td><button class="btn btn-primary" value="<?php echo $b?>" name="b-submit">B. <?php echo $b?></button></td>
    <td><button class="btn btn-primary" value="<?php echo $c?>" name="c-submit">C. <?php echo $c?></button></td>
    <td><?php 
        if($_SERVER['REQUEST_METHOD'] === 'POST'){
            if(isset($_POST['a-submit'])){
                echo $a;
            }
            else if(isset($_POST['b-submit'])){
                echo $b;
            }
            else if(isset($_POST['c-submit'])){
                echo $c;
            }
            else{
            }
        }
    ?>
    </td>
</tr>
    <?php
    }
    ?>

你认为我犯错的可能原因是什么?请帮忙

标签: phphtml

解决方案


如果我没记错的话,你所有的按钮都是单一的形式,这就是为什么当你点击任何按钮时你会得到所有按钮的值。

我不确定你为什么需要在这里发帖,因为如果你想获取按钮值,你可以简单地使用 jQuery 获取它。

检查我的示例代码。

<script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>

<?php
for ($i = 1; $i < 5; $i++) {
    ?>
    <table>
        <tr>
            <td>Question <?php echo $i; ?></td>
            <td><button class="btn btn-primary btn-answer" value="Answer 1" rel="question<?php echo $i; ?>" name="a-submit">A. Answer 1</button></td>
            <td><button class="btn btn-primary btn-answer" value="Answer 2" rel="question<?php echo $i; ?>" name="b-submit">B. Answer 2</button></td>
            <td><button class="btn btn-primary btn-answer" value="Answer 3" rel="question<?php echo $i; ?>" name="c-submit">C. Answer 3</button></td>
            <td class="question<?php echo $i; ?>-answ"></td>
        </tr>
    </table>
    <?php
}
?>

<script type="text/javascript">
    $(document).ready(function () {
        $('.btn-answer').on('click', function () {
            $('.' + $(this).attr('rel') + '-answ').html($(this).val());
        });
    });
</script>

类“ btn-answer”->所有答案按钮的全局类以调用jquery单击动作

rel-> 识别问题

question<?php echo $i; ?>-answ-> 识别答案块显示用户选择


推荐阅读