【发布时间】:2014-02-16 04:27:11
【问题描述】:
好的,我在一个学习网站上工作,遇到了过去几天我无法克服的一个大障碍,尽管尝试解决这个问题让我克服了一些其他障碍,我'我现在卡住了......
如果有人知道任何教程或任何非常有用的东西,我发现很难找到教程来帮助我,我可以找到零碎的东西,但没有任何东西能够帮助我找出解决方案。
我想要发生的事情: 当这个人进入课程页面时,它会从问题列表中提取 5 个项目,并一次将它们呈现给第 1 个人,当他们按 Enter 键时,它会将他们带到下一个项目,当他们已经完成 5 个项目时它会离开页面。
有什么作用: 使用 MySQL 提取 5 个问题 ID
我需要什么: 将 5 个问题 ID 放入 javascript 箭头 根据第一个数组编号将数据加载到页面中 遍历数组将数据加载到页面上而无需完全刷新
这是我到目前为止的课程.php 页面,减去我尝试过的一些东西,这些只是代码 sn-ps 以及我从 stackoverflow 中发现的我试图使用我的设置:
<!doctype html>
<?php
include ("Connections/localhost.php");
//Get up to five questions that user hasn't seen
$sql = "SELECT quest_id FROM questions LEFT OUTER JOIN answers ON questions.quest_id = answers.ans_question WHERE answers.ans_question IS null and questions.quest_level <= (SELECT user_level FROM users WHERE username = '".$_SESSION['username']."' LIMIT 5);";
$qresult = mysql_query($sql);
//Get number of lessons available
$result = mysql_query("SELECT COUNT(*) AS total FROM questions LEFT OUTER JOIN answers ON questions.quest_id = answers.ans_question WHERE answers.ans_question IS null and questions.quest_level <= (SELECT user_level FROM users WHERE username = '".$_SESSION['username']."');");
$les = mysql_fetch_assoc($result);
?>
<html>
<head>
<meta charset="utf-8">
<title>Lesson</title>
<script>
function play_audio() {
document.getElementById('id1').play();
}
var lessons = <?php echo $les['total']; ?>;
var i = 1;
if(lessons > 5) {
lessons = 5
}
function next_question() {
if(i<lessons) { //if there are still reviews to do
//call webpage to get new information
i++;
}
else {
//Load finished page
}
}
</script>
<link href="review.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="text_display">
<p><?php echo "Question Appears Here" ?></p>
</div>
<div id="looking">
What is the <?php echo "Meaning?" ?>
</div>
<div id="input_bar">
<form>
<input type="text" name="textfield" id="txt_input">
</form>
</div>
<div id="audio">
<form>
<input name="audio" type="button" id="btn_audio" value="Audio" onClick="play_audio()">
</form>
</div>
<div id="info">
<audio id="id1" src="audio/" style="display:none"></audio>
<h2>Information</h2>
<p></p>
</div>
</body>
</html>
我有一个 getitem.php 页面,该页面将从数据库中提取选定的问题信息,以便我可以从中提取信息并更新课程页面,而无需重新加载。
<?php
include ("Connections/localhost.php");
//Get item from url
$question = $_GET["ans_question"];
//Make sure to get UTF-8
$change = "SET NAMES 'utf8'";
mysql_query($change) or die("The change did not work: $change");
//Pull that question from the database
$sql = mysql_query("SELECT * FROM questions WHERE quest_id = '".$question."'");
$item= mysql_fetch_assoc($sql);
?>
<html>
<meta charset="utf-8">
<body>
<div id="text"><?php echo $item['quest_text']; ?></div>
<div id="type"><?php $qtype = $item['quest_type']; echo $qtype ?></div>
<div id="question"><?php echo $item['quest_question']; ?></div>
<div id="answer"><?php $ans = $item['quest_ans']; echo $ans?></div>
<div id="qaudio"><?php $qaudio = $item['quest_audio']; echo $qaudio?></div>
<div id="qinfomation"><?php echo $item['quest_info'];?></div>
</body>
</html>
【问题讨论】:
-
所以您想将数据(5 个问题)从 getitem.php 传输到 course.php?
-
是的,这是我的问题之一,但我需要将变量传递到该页面,所以它就像 localhost/getitem.php?ans_question=1
-
对于初学者,我强烈建议您不再使用
mysql_query和原始 MySQL API 的其他相关函数,因为它们现在已从 PHP 中贬值。我的建议是改用 PDO 或 mysqli,因为它们都在最新版本的 PHP 中受支持并且更安全。 -
Aww 没有更多的 mysql_query ... 就像我在另一个表扬中所说的,我上次使用 php 是第 2 版...
标签: javascript php jquery mysql arrays