我做了一个测验网站,显示了一个问题和4个单选按钮选项。这些问题是从数据库中提取的。但所有的问题都在一次出现。当用户单击选项时,我想一次显示一个问题。在他点击选项后不久,当前问题就会消失,并显示下一个问题。我尝试了很多使用javascript的方法,但都没有效果。有人能帮我吗。这是我的html代码
<div class="services">
<div class="container">
<?php $response=mysql_query("select * from questions");?>
<form method='post' id='quiz_form'>
<?php while($result=mysql_fetch_array($response)){ ?>
<div id="question_<?php echo $result['id'];?>" class='question'> <!--check the class for plurals if error occurs-->
<h2 id="question_<?php echo $result['id'];?>"><?php echo $result['id'].".".$result['question_name'];?></h2>
<div class='align'>
<input type="radio" value="1" id='radio1_<?php echo $result['id'];?>' name='<?php echo $result['id'];?>'>
<label id='ans1_<?php echo $result['id'];?>' for='1'><?php echo $result['answer1'];?></label>
<br/>
<input type="radio" value="2" id='radio2_<?php echo $result['id'];?>' name='<?php echo $result['id'];?>'>
<label id='ans2_<?php echo $result['id'];?>' for='1'><?php echo $result['answer2'];?></label>
<br/>
<input type="radio" value="3" id='radio3_<?php echo $result['id'];?>' name='<?php echo $result['id'];?>'>
<label id='ans3_<?php echo $result['id'];?>' for='1'><?php echo $result['answer3'];?></label>
<br/>
<input type="radio" value="4" id='radio4_<?php echo $result['id'];?>' name='<?php echo $result['id'];?>'>
<label id='ans4_<?php echo $result['id'];?>' for='1'><?php echo $result['answer4'];?></label>
<input type="radio" checked='checked' value="5" style='display:none' id='radio4_<?php echo $result['id'];?>' name='<?php echo $result['id'];?>'>
</div>
<br/>
<input type="button" id='next<?php echo $result['id'];?>' value='Next!' name='question' class='butt'/>
</div>
<?php }?>
</form>
</div>
</div>
4条答案
按热度按时间gr8qqesn1#
你可以试试这个:
php代码可以是:
js代码:
注意:您需要在.php或.phtml文件中调用js文件。我在我的系统中执行了这个代码,我的所有问题和答案都在数据库中。我将它们存储在一个php变量中。
kx5bkwkv2#
这里我举了一个例子来说明如何实现这个解决方案。你需要3个文件。
1) 下载jquery库并将其放在site根文件夹中,在本例中我使用jquery-3.3.1.min.js
2) 使用此内容创建index.php文件
2) 创建ajax.php
ni65a41a3#
当你想要的事件在ui中触发时,一次在ui中加载一个问题,这是一种通用而有效的方法。让我们在这里详细说明一下策略
第一步:将有js函数调用来加载所需的问题。所需或现有的问题id将是此js函数的参数。
步骤2 js函数将使用参数对php sript进行ajax调用。
第3步后端php应该返回一个带有desired问题和选项的json对象数组。
步骤4:js函数现在应该相应地打印返回值
bgtovc5b4#
那是因为你在用
select * from questions
,这将获取问题数据库中的所有内容,您要做的是一次请求一个问题select * from questions LIMIT 0, 1 // index_from, amount
,然后下次再增加一个LIMIT 1, 1