2013-08-28 5 views
0

내 데이터베이스에 대한 대답 설명을 어떻게 업데이트 할 수 있습니까?중첩 된 for 루프를 사용하여 데이터베이스를 업데이트 하시겠습니까?

질문 설명을 업데이트하기위한 작업 코드가 있습니다.

업데이트를 클릭 할 때마다 질문 설명 만 대답이 아닌 업데이트됩니다.

나는 몇 가지 코드를 추가 한 ... 여기

내 새로운 코드이지만이 제대로 작동 나던 중 하나

for ($i = 0; $i < sizeof($selected); $i++) 
{ 
    $sql = sprintf("UPDATE exam_questions SET question_description = '%s' WHERE question_id = '%s'", 
      mysql_real_escape_string($question[$i]), 
      mysql_real_escape_string($selected[$i])); 
    mysql_query($sql)or die(mysql_error()); 

    $sql = mysql_query("SELECT * FROM exam_answers WHERE answer_question_set_id = '".$selected[$i]."'")or die(mysql_error()); 
    $count=mysql_num_rows($sql); 

    for($e = 0; $e<$count; $e++){ 
    $sql = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'", 
      mysql_real_escape_string($answer[$e]), 
      mysql_real_escape_string($answerid[$e])); 
    mysql_query($sql)or die(mysql_error()); 
    } 
} 
+0

질문 ID 필드는 정수 또는 문자열입니까? – Bokw

+0

은 정수입니다. 그 확인란의 가치 attrib에 나는 언급을 깜박 했어 –

+2

두 번째 for-loop에서 $ x 변수를 재정의했다면 다른 변수 이름을 사용해야한다. – tomahaug

답변

0

for($x = 0; $x < sizeof($answer); $x++){ 
    **$x** = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'", 
      mysql_real_escape_string($answer[$x]), 
      mysql_real_escape_string($answerid[$x])); 
    mysql_query($x)or die(mysql_error()); 
    } 
에서 $의 X를 사용하지 마십시오

대신에 다른 변수를 사용하십시오. 이것은 루프에 복잡하게됩니다. 대신이의

0

는 :

for($x = 0; $x < sizeof($answer); $x++){ 
    $x = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'", 
      mysql_real_escape_string($answer[$x]), 
      mysql_real_escape_string($answerid[$x])); 
    mysql_query($x)or die(mysql_error()); 
} 

이 작업을 수행해야합니다

for($x = 0; $x < sizeof($answer); $x++){ 
    $sql = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'", 
      mysql_real_escape_string($answer[$x]), 
      mysql_real_escape_string($answerid[$x])); 
    mysql_query($sql)or die(mysql_error()); 
} 

공지 사항 처음에 루프처럼 "$의 SQL"와 "$의 X"의 교체.

관련 문제