2012-04-02 16 views
0

質問行に質問を追加するアプリケーションがあります。私は問題がデータベースにINSERTING VALUESになると思います。データベースにこれらの番号が正しく挿入されていません

私は2つの質問を追加した場合、私は自分のアプリケーションが、それは以下のようになります。

SessionId QuestionId QuestionContent 

ABV   1   What is 2+2? 
ABV   2   What is 3+3? 

しかし、私は、データベース内のこれらの値を追加する場合、それはこのようにそれを挿入します。

SessionId QuestionId QuestionContent 

    ABV   3   What is 2+2? 
    ABV   3   What is 3+3? 

問題は、追加された質問番号の次の質問番号、この場合は数字「3」を挿入していることです。最初の例のような正しい質問番号をデータベースに追加するにはどうすればよいですか?

以下

私が現在持っているINSERTのVALUESコードです:

以下
 $insertquestion = array(); 

foreach($_POST['questionText'] as $question) 
{ 
    $insertquestion[] = "' ". mysql_real_escape_string($_SESSION['id']) . "' , ' ". mysql_real_escape_string($_POST['num_questions']) . "', ' ". mysql_real_escape_string($question) . "'"; 
} 

    $questionsql = "INSERT INTO Question (SessionId, QuestionId, QuestionContent) 
    VALUES (" . implode('), (', $insertquestion) . ")"; 



echo($questionsql); 

は、アプリケーション内のテーブルの行の質問番号を追加するJavaScriptコードは(私はセッションIDを追加含まれており、中に質問していないです以下のコード)

<script> 

    function insertQuestion(form) { 

     var $tbody = $('#qandatbl > tbody'); 
     var $tr = $("<tr class='optionAndAnswer' align='center'></tr>"); 
     var $qid = $("<td class='qid'>" + qnum + "</td>"); 

     $tr.append($qid); 
      $tbody.append($tr); 

     ++qnum; 
     $("#questionNum").text(qnum); 
     $("#num_questions").val(qnum); 

</script> 


<form id="QandA" action="insertQuestion.php" method="post" > 
<input type="hidden" id ="num_questions" value="" name="num_questions"> 
<div id="detailsBlock"> 
    <table id="question"> 
     <tr> 
      <th colspan="2"> 
       Question Number <span id="questionNum">1</span> 
      </th> 
     </tr> 
    </table> 
</form> 
+2

'のvar_dump($ _ POST)に返されます;'エコー($のquestionsql)から出てくるどのようなクエリ ' –

+0

;'? – CodeCaster

+0

@ CodeCasterデータベースに2つの質問を追加しようとすると、$ questionsqlが出てきます。INSERT INTO質問(SessionId、QuestionId、QuestionContent)VALUES( 'ABV'、 '3'、 '2 + 2とは何ですか? ')、(' ABV '、' 3 '、' What is 3 + 3? ') ' – user1304948

答えて

0

あなたはちょうどそれが普通ですDELETE * FROM tableNameを行うDELETE * FROM tableNameEMPTY function in phpMyAdmin()を使用している場合は、uはちょうどauto_incrementとインデックスを持っているし、あなたのテーブルの最後の012をすべてのレコードを削除が保持されます。

あなたTRUNCATE場合は、この表auto_increment_idは1

関連する問題