PHP中获取循环条件中按钮值的可选$\u POST方法
我是PHP新手,所以我需要你的帮助 web中的表处于循环中,因此它在mySQL phpMyAdmin数据库中获取值,直到到达数据库表的末尾 当按下某个按钮时,获取希望在表中显示的所需值时出现问题。一旦我按下一个按钮,它实际上会显示它的值,但是,它也会显示另一个按钮的值 在我的结论中,我认为我的$u邮政编码遗漏了什么或者是一个完全的错误 代码如下:PHP中获取循环条件中按钮值的可选$\u POST方法,php,html,Php,Html,我是PHP新手,所以我需要你的帮助 web中的表处于循环中,因此它在mySQL phpMyAdmin数据库中获取值,直到到达数据库表的末尾 当按下某个按钮时,获取希望在表中显示的所需值时出现问题。一旦我按下一个按钮,它实际上会显示它的值,但是,它也会显示另一个按钮的值 在我的结论中,我认为我的$u邮政编码遗漏了什么或者是一个完全的错误 代码如下: <tr> <?php while($row = mysqli_fetch_assoc($query)){
<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
}
?>
如果我没有错的话,你所有的按钮都是单一形式的,这就是为什么你点击任何按钮都会得到所有按钮的值
我不知道你为什么需要在这里发布,因为如果你想得到按钮的值,你可以使用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>
问题:
如果仍希望在循环中使用相同的变量名,并显示用户提交的值,可以按如下方式执行:
<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"]) && $_POST["a-submit"] == $a){
echo $a;
}
else if(isset($_POST["b-submit"]) && $_POST["b-submit"] == $b){
echo $b;
}
else if(isset($_POST["c-submit"]) && $_POST["c-submit"] == $c){
echo $c;
}
else{
}
}
?>
</td>
</tr>
我可以给它们中的每一个添加唯一的变量,但这将失去循环的目的,因为我不能循环唯一的变量。请您详细描述一下您想要实现什么?你能显示你得到的当前结果吗?我得到的问题和答案是用户输入的,它们不是硬编码的。因此,我发布的代码得到了用户在数据库中输入的问题和答案是在一个循环中的,这样它就可以检索到用户在数据库中提交了多少问题和答案。因此,如果我给每个变量一个唯一的变量,这意味着我不能使用循环,每次用户向数据库添加问题和答案时,我都必须硬编码。因此,最简单的方法是从数据库中循环获取所有这些信息。这里有一张图片显示我的问题:在这张图片上,我选择在第一行回答。所以正确答案应该是字母b,也就是2。它正确地显示了我选择的内容,但也显示了其他问题的其他字母b。我希望这能让事情变得更清楚你好,我试过你的代码,不知怎么的,它可能会显示答案,但当我按下另一个按钮的问题时,我以前显示的答案变为空。我会尝试另一种方法,但随着假期的临近,我会休息一会儿。假期过后我会尽快更新。谢谢,节日快乐!我正在寻找一个PHP代码,但我会在晨练后检查这个代码。稍后会在这里发表评论当然,如果你需要任何信息,请告诉我。嘿,这很有效,解决了我的问题!我会试着把这个翻译成PHP,看看我能不能做到。如果没有,非常感谢你的帮助!顺便问一下,“”是否需要internet访问权限?我需要它来访问internetHi,您可以使用本地jQuery路径