2013-08-28 2 views
0

편집 된 항목을 업데이트 할 수 없습니다. 첫 번째 질문과 답변 만 업데이트됩니다. 나는 내가 원하는 결과를 얻을 수 없다. 하루 동안 이걸 붙잡 았어. 도와주세요.PHP mysql의 중첩 루프

시나리오를 heres : 나는 양식을 포함하고 다른 PHP 파일에 전달하는 PHP 파일이 있습니다. 체크 상자에는 질문 ID와 텍스트 상자가있어 데이터베이스에서 질문을 편집 할 수 있습니다. 모든 질문에는 해당 답변이 있습니다. 또한 편집 할 수 있습니다. 그들이 업데이트 버튼을 클릭하면 체크 된 모든 질문이 업데이트되어야합니다. 모든 항목이 업데이트되는 것은 아닙니다. 문자 그대로 첫 번째 질문 만 업데이트 할 수있는 유일한 항목입니다. 누구든지 내 코드에 무슨 문제가 있는지 알고 있니? 를 heres

스크린 샷에 대한 링크 http://imageshack.us/photo/my-images/706/cetw.png/

Heres는 내 코드 :

$selected = $_POST['selected'];///the checkbox 
$question = $_POST['questiondesc']; 


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

    $eren = mysql_query("SELECT * FROM exam_answers WHERE answer_question_set_id = '".$selected[$i]."'")or die(mysql_error()); 
    while($mikasa = mysql_fetch_array($eren)){} 
    $count = mysql_num_rows($eren); 

     $answer = $_POST['answerdesc']; 
     $answerid = $_POST['ansid'];///answer id 



      for($e = 0; $e<$count; $e++){ 

      $gomugomu = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_id = '%s'", 
      mysql_real_escape_string($answer[$e]), 
      mysql_real_escape_string($answerid[$e])); 
      mysql_query($gomugomu)or die(mysql_error()); 
     } 

답변

0

그것은 당신의 페이지 또는 무언가의 PRINTSCREEN없이 이해하기 위해 약간의 혼란,하지만 당신은 페이지를 것 같은데 그 동시에 여러 확인란을 선택할 수 있지만 $_POST에 하나의 checbox에 대한 참조 만 유지하고 있습니다.

그럴 경우 질문에 'ID를 배열로 보내야합니다. 이 받아 들여지는 응답을보십시오 그 방법을보십시오 : PHP $_POST get data array

+0

나는 나의 html 부호에 그 (것)들을했다. 여기 내 스크린 샷은 http://imageshack.us/photo/my-images/706/cetw.png/입니다. –