【发布时间】:2020-06-13 04:16:00
【问题描述】:
我正在开发一个在线测验,让用户通过单击几个单选按钮来回答问题。 我希望程序使用数据库中的问题。我已经通过 PHP 创建了连接,但它没有正确传递到 javascript 代码。
<body>
<?php
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'root';
$DATABASE_PASS = '';
$DATABASE_NAME = 'psych';
$connect = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
$res = mysqli_query($connect, "SELECT questions FROM questions") or die( mysqli_error($connect));
;
$quests = mysqli_fetch_array($res);
// echo "Quest0=$quests[0]";
$scores=array();
$i = "0";
while($row = mysqli_fetch_array($res))
{
$arr[$i] = $row['questions'];
$i++;
}
?>
<div id="quiz"></div>
<br>
<button id="submit">Calculate</button>
<h4 id="message"></h4>
<br><br>
<div id="results"></div>
<script type="text/javascript">
const submitButton = document.getElementById('submit');
const array = <?php echo json_encode($arr); ?>;
// Display the array elements
for(var i = 0; i < array.length; i++){
const myQuestions=[ {(array[i])}];
//document.write(myQuestions[i]);
//console.log(myQuestions[j]);
displayArrayObjects(myQuestions);
}
function displayArrayObjects(arrayObjects) {
var len = arrayObjects.length, text = "";
for (var i = 0; i < len; i++) {
var myObject = arrayObjects[i];
for (var x in myObject) {
text += ( myObject[x] );
}
text += "<br/>";
}
document.getElementById("message").innerHTML = text;
}
//const Myanswers = [a: "answer A", b: "answer B" ];
const answers = [{ answers: {
a: "answer A",
b: "answer B"
},
answerA: "a",
answerB: "b"
},];
【问题讨论】:
-
$arr是否获取数据? -
是的,确实如此。我想。当我取消注释 //document.write(myQuestions);它确实显示了数据库中的数据
-
您缺少脚本结束标记。你能确认一下吗?
-
是的,它就在那里。仅当我使用 document.write(); 时才会显示数据;没有其他工作
-
人们通常会从数据库中选择更多信息,而不仅仅是问题的文本
标签: javascript php html mysql algorithm