2012-04-02 2 views
0

질문 행에 질문을 추가하는 응용 프로그램이 있습니다. 데이터베이스에 INSERTING VALUES에 관한 한 문제가 있습니다. 데이터베이스에이 숫자가 올바르게 삽입되어 있지 않습니다.

내가 내 응용 프로그램 내가이 개 질문을 추가하는 경우는 다음 아래 다음과 같습니다

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'입니다. 데이터베이스에있는 첫 번째 예제와 같은 올바른 질문 번호를 추가하려면 어떻게합니까? 다음은

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

는 응용 프로그램에서 테이블 행의 질문 번호를 추가하는 자바 스크립트 코드 (필자는 sessionId가와에 질문을 추가 포함하지 않은 것입니다 : 아래

내가 현재 가지고있는 INSERT의 VALUES 코드 아래 코드)

<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)로 돌아갑니다 경우,' –

+0

은 무엇 쿼리'에코 ($의 questionsql)에서 나온;'? – 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을, 유 단지 auto_increment와 인덱스를 가지고 DELETE * FROM tableName 또는 EMPTY function in phpMyAdmin (당신은 당신의 표 지난 012의 모든 레코드를 삭제하는 경우이 보관됩니다.

당신이 TRUNCATE이 테이블 auto_increment_id 1.

관련 문제