php - 请帮我获取 $randomQ 和 $matchinA,然后在输入 $matchinA 时刷新 jQuery?

标签 php javascript mysql jquery

请告诉我如何从 quizID 部分获取随机问题“$randomQuestion”(即“天空是什么颜色?”)和匹配答案 $matchingAnswer我的SQL数据库,然后使用jQuery来刷新表单,仅此而已?我首先创建了表单和一些可能有效的 JavaScript。

表格:

<form name="$quizID" action="http://asite.com" method="post">
  <fieldset>
    <legend="$randomQuestion">
    <p>
      <label>Answer: <input type="text" id="answer" onkeydown="submitAns(submit.id)" /></label>
    </p>
  </fieldset>
</form>

JS:

function submitAns(id) {
  if (document.getElementById(id).value=="$matchingAnswer")
          document.a.submit();
}

JQUERY:

$.post('get-question_matchinganswer_for_quizID.php', {
  quizID: $quizID,
  question },
  function(data) {
    alert('Question is: ' + data.question)
    alert('Answer is: ' + data.answer)
  },
  'json'
);

PHP:

<!-- 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 =

这对我来说非常复杂,我一直在为此烦恼。请给出意见。谢谢。

最佳答案

首先,您的 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>

至于ajax,我建议使用jQuery。它使事情变得更加容易。

$.post('getqidqandanswer.php', {
    quizID: 1337,
    questionID: 42},
    function(data) {
        alert('Question is: ' + data.question)
        alert('Answer is: ' + data.answer)
    },
    'json'
);

PHP:

$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)

关于php - 请帮我获取 $randomQ 和 $matchinA,然后在输入 $matchinA 时刷新 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3695583/

相关文章:

mysql - 根据另一个表中的 2 个唯一值从表中选择数据

mysql - 我应该如何解析MySQL中的--secure-file-priv?

javascript - 如果背景颜色优于 x 则改变颜色?

php - UPS Time in Transit 服务代码到 Rating API

php - 一个查询中的多个 Mysql 更新

javascript - knockout 值(value)分配不起作用

javascript - 有没有办法阻止绝对定位的 div 在小屏幕上消失?

php - PDOException 语法错误或访问冲突 1142,当创建引用其他 View 的 View 时

javascript - Testcafe 在授权后引入测试入口点

mysql - Ubuntu - 从 mysql 中的命令提示符重新启动 mysql