调查问题来自数据库,但选项是静态的。
代码仅针对第一个问题运行,答案。其他问题导致错误。它只是循环数据,但它只需要第一个ID,这就是为什么它只为第一个ID提供了正确的结果。我不能为所有人做这件事。
我该如何解决?使用Ajax和PHP的数据存储?请忽略我的脚本运行。我没有提供完整的代码,这就是它显示错误的原因。
JavaScript代码:
什么是正确的代码?
$('#submit-button').click(function () {
var qns_id= $('#qns-id').val();
if(qns_id>0){
if(document.getElementById('option1').checked) {
var ans = $('#option1').val();
}else if (document.getElementById('option2').checked){
ans =$('#option2').val();
}else if (document.getElementById('option3').checked){
ans =$('#option3').val();
}
console.log(ans,qns_id);
}else{
alert ('0 result');
}
});
PHP / HTML代码:
这种格式是对的吗?问题是否可能是动态的,但选项是否是静态的?如果可能的话,请帮我解决这个问题。如果不可能,请告诉我我的项目可以遵循的流程。
<?php
require_once('inc/config.inc.php');
$conn= mysqli_connect(WIFI_SERVER_NAME, WIFI_USER_NAME, WIFI_PASSWORD,WIFI_DB_NAME);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT survey_quiz_id, title FROM survey_quiz";
$result = mysqli_query($conn, $sql);
?>
<div class="form-group" id="blockSurvey">
<div class="logo-container title-top-med">
<h2>Survey for Improvement</h2>
</div>
<div class="survay-form">
<form method="post" name="survay">
<div class="title">
<?php
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
?>
<h2>
<?php echo $row['title']; ?>
<input type="hidden" id="qns-id" name="qns-id" value="<?php echo $row['survey_quiz_id']; ?>">
</h2>
<div class="options" id="value">
<ul>
<li><input type="radio" id="option1" name="ans" value="Not Good"><p class="double-word">Not Good</p></li>
<li><input type="radio" id="option2" name="ans" value="Good"><p class="single-word">Good</p></li>
<li><input type="radio" id="option3" name="ans" value="Very Good"><p>Very Good</p></li>
</ul>
</div>
<?php
}
} else {
echo "0 results";
}
?>
</div>
<div class="form-group">
<div class="btn btn-primary btn-survey" id="submit-button">Submit</div>
</div>
</form>
</div>
</div>