0

試験/クイズを実施するオプションがある試験ポータルを作成しています。これで、 Next と Previous という 2 つのボタンが追加されました。ボタンクリックで質問とそのオプションを取得したかったのです。私のデータベースには次の構造があります: Question(qid,question,option1,option2,option3,option4,right_option)

<input id="first" type="button" value="NEXT" onClick = "show_next()">
<input id="second" type="button" value="PREV" onClick = "show_prev()">

<script>
function show_next()
{
<?php 
$question_no; //my global php variable to keep track of question id
$question_no = $question_no + 1; 
show_question($question_no); //php function which shows data according to question no 
?>
 }
function show_prev()
{
<?php 
if($question_no>0)
{
$question_no = $question_no-1;
show_question();
}
else
{
?>
alert("Wrong Operation");
<?php
}
?>
}
</script>

私はphpとjavascriptが初めてです。正しい方法を提案し、可能であれば私の質問のコーディングスニペットを教えてください

4

2 に答える 2

1

jQuery/AJAX を使用します。Offset と Limit を動的に管理するだけです。例えば

一度に 1 つの質問とその選択肢を表示しているとします。

あなたのhtmlファイルになります。

<input id="first" type="button" value="NEXT" onClick = "show_next()">
<input id="second" type="button" value="PREV" onClick = "show_prev()">
<input id="offset" type="hidden" value="0">

あなたのjavascriptファイルで

function show_next()
{
  var offset=$('#offset').val();
  $.post('GetQuestion.php',{offset:offset},function(data){
    $('#question_answer').html(data);
    $('#offset').attr('value',offset+1);

  })
}

function show_prev()
{
  var offset=$('#offset').val();
  $.post('GetQuestion.php',{offset:offset},function(data){
    $('#question_answer').html(data);
    $('#offset').attr('value',offset-1);

  })
}

GetQuestion.php ファイルでは、$_POST を使用してオフセット値にアクセスできます。クエリでその値を使用するだけです。

mysql_query("SELECT * FROM questions LIMIT ".$_POST['offset'].",1");

クエリ結果をphpファイルにエコーして、javascriptのvarデータで使用できるようにします。

于 2013-04-10T11:07:40.677 に答える