Php 请帮我获取$randomQ和$matchinA,如果键入了$matchinA,请让jQuery刷新?
请告诉我如何从SQL数据库的quizID部分获取随机问题“$randomQuestion”(即“天空是什么颜色?”)和匹配答案“Php 请帮我获取$randomQ和$matchinA,如果键入了$matchinA,请让jQuery刷新?,php,javascript,mysql,jquery,Php,Javascript,Mysql,Jquery,请告诉我如何从SQL数据库的quizID部分获取随机问题“$randomQuestion”(即“天空是什么颜色?”)和匹配答案“$matchingAnswer”,然后仅使用jQuery刷新表单?我首先创建了表单和一些可以工作的JavaScript 表格: JQUERY: PHP: 函数随机_行($table,$column){ $max\u sql=“选择最大值(“.$column.”) 作为max_id 从$table开始; $max_row=mysql_fetch_数组(mysql_查询(
$matchingAnswer
”,然后仅使用jQuery刷新表单?我首先创建了表单和一些可以工作的JavaScript
表格:
JQUERY:
PHP:
函数随机_行($table,$column){
$max\u sql=“选择最大值(“.$column.”)
作为max_id
从$table开始;
$max_row=mysql_fetch_数组(mysql_查询($max_sql));
$random_number=mt_rand(1,$max_row['max_id']);
$random\u sql=“从“$table”中选择*。”
其中,“$column.”>=“$random\u number。”
按“$column”ASC订购
限制1”;
$random_row=mysql_fetch_row(mysql_查询($random_sql));
如果(!是数组($random\u row)){
$random\u sql=“从“$table”中选择*。”
其中“$column.”<“$random\u number。”
按“$column”排序。说明
限制1”;
$random_row=mysql_fetch_row(mysql_查询($random_sql));
}
返回$random_行;
}
$RANDOM问题=
$matchinaswer=
这对我来说是非常复杂的,我一直有很多麻烦。请发表评论。谢谢。首先,您的HTML无效:您没有关闭标记:
<form name="$quizID" action="http://asite.com" method="post">
<fieldset>
<legend><?php echo $randomQuestion?></legend>
<label>
Answer: <input type="text" id="answer"
onkeydown="submitAns(submit.id)" />
</label>
</fieldset>
</form>
PHP:
你确定你要找的是AJAX吗?问题和答案是否会在页面实例中更改,还是在第一次加载页面时确定?My bad。w3文档,显示标签周围的。我不确定它是否美观。所以,我希望你可以谨慎一点吗?
很好。我只是把它拿走了,因为它是不必要的。问题是未关闭的
和
标记。使用jQuery就可以了。我遇到的问题是“如何在不按“提交”按钮的情况下检查数据库中的值,提交,但仍然不刷新页面?”XD当文本输入中的答案与数据库中列出的答案匹配时,它应该提交,该答案与数据库中的Q相关联。我甚至不确定是否应该关闭,尽管标签、图例和字段集绝对应该是。我在看4.10版的表单文档(链接在上面),它们并没有在那个里关闭它。输入是自动关闭的,至少在XHTML中是这样。虽然在HTML中,但不关闭它是有效的。随机问题应该通过ajax选择,还是由PHP提供是可以接受的?由PHP提供是可以的。如果我之前不清楚,我很抱歉。我没有看到这个评论。重要的是它的功能:在不刷新整页的情况下加载一个新问题。谢谢你的回答,埃里克。:)它们将在实例中更改。非常感谢。
function submitAns(id) {
if (document.getElementById(id).value=="$matchingAnswer")
document.a.submit();
}
$.post('get-question_matchinganswer_for_quizID.php', {
quizID: $quizID,
question },
function(data) {
alert('Question is: ' + data.question)
alert('Answer is: ' + data.answer)
},
'json'
);
<!-- Help -->
function random_row($table, $column) {
$max_sql = "SELECT max(" . $column . ")
AS max_id
FROM " . $table;
$max_row = mysql_fetch_array(mysql_query($max_sql));
$random_number = mt_rand(1, $max_row['max_id']);
$random_sql = "SELECT * FROM " . $table . "
WHERE " . $column . " >= " . $random_number . "
ORDER BY " . $column . " ASC
LIMIT 1";
$random_row = mysql_fetch_row(mysql_query($random_sql));
if (!is_array($random_row)) {
$random_sql = "SELECT * FROM " . $table . "
WHERE " . $column . " < " . $random_number . "
ORDER BY " . $column . " DESC
LIMIT 1";
$random_row = mysql_fetch_row(mysql_query($random_sql));
}
return $random_row;
}
$randomQuestion =
$matchinAnswer =
<form name="$quizID" action="http://asite.com" method="post">
<fieldset>
<legend><?php echo $randomQuestion?></legend>
<label>
Answer: <input type="text" id="answer"
onkeydown="submitAns(submit.id)" />
</label>
</fieldset>
</form>
$.post('getqidqandanswer.php', {
quizID: 1337,
questionID: 42},
function(data) {
alert('Question is: ' + data.question)
alert('Answer is: ' + data.answer)
},
'json'
);
$quizID = isset($_POST['quizID']) ? $_POST['quizID'] : null
$questionID = isset($_POST['questionID']) ? $_POST['questionID'] : null
if($quizID && $questionID)
{
$data = getQuestionData($quizID, $questionID)
}
elseif($quizID)
{
$data = getRandomQuestionData($quizID)
}
else
{
$data = array(
'question' => '',
'answer' => ''
)
}
echo json_encode($data)