2012-10-01 6 views
0

데이터베이스에 이미 입력 된 사용자 값을 기반으로 "확인 된 명령문"을 추가하려고합니다.데이터베이스에서 확인한 PHP 에코

저는 데이터베이스 측을 q1, q2 등으로 설계했으며 "a", "b"또는 "c"가있는 단일 varchar를 사용했습니다.

나는 기본적으로 대답을 검색하고 "확인"으로 확인란에 넣기를 원합니다. 어떤 이유로 그 코드가 작동하지 않습니다.

내 코드는 지금까지 있습니다 :

<?php 
//retreive questions from database and put into question box 

$query2 = "SELECT `QuestionId`, `Question`, `Opt1`, `Opt2`, `Opt3`, `Opt4`,`Answer` FROM `pf_questions`"; 

$question2 = mysql_query($query2); 

while($row = mysql_fetch_array($question2)){ 

    $id   = $row['QuestionId']; 
    $question = $row['Question']; 
    $opt1  = $row['Opt1']; 
    $opt2  = $row['Opt2']; 
    $opt3  = $row['Opt3']; 
    $opt4  = $row['Opt4']; 
    $answer  = $row["Answer"]; 

?> 
<div id="ContainerQuestion"> 
    <span class="Question">Question <?php echo $id; ?>. <?php echo $question; ?></span> 

     <p><input type=radio name='q<?php echo $id; ?>' value="a"> <?php echo $opt1; ?> </p> 
     <p><input type=radio name='q<?php echo $id; ?>' value="b"> <?php echo $opt2; ?> </p> 
     <p><input type=radio name='q<?php echo $id; ?>' value="c"> <?php echo $opt3; ?> </p> 

     <p><input type=radio name='q<?php echo $id; ?>' value="d"> <?php echo $opt4; ?> </p> 


</div> 
<?php 
} 

?> 

나는 동안의 함수 내에서 질의를하고 바로 각 입력 유형을 가질 수 있습니다 ($ 행이 [ '1'은] = 'A') 에코 "가 선택된 경우라고 = '확인 됨' "; 또는 나는 틀린가?

도움이 될 것입니다. 덕분에

+0

그리고 어떻게 작동 시키려고 했습니까? 물론 당신이 말하는 것은 가능합니다. –

+0

무엇이 오류입니까? – thobens

+0

나는 pf_questions 테이블 안에 질문이 있는데 pf_answers라는 또 다른 테이블을 만들었습니다. 프로필 테이블에 연결되는 각 테이블 안에 user_id 필드가 있습니다. 내 오류는 입력 된 태그 내부에서 검사로 검사를받을 수있는 방법입니다. – user1611341

답변

0

변경 라디오 버튼 :

<p><input type=radio name='q<?php echo $id; ?>' value="a" <?php echo ($row[1] == 'a') ? 'selected="selected"':''; ?>> <?php echo $opt1; ?> </p> 
<p><input type=radio name='q<?php echo $id; ?>' value="b" <?php echo ($row[1] == 'b') ? 'selected="selected"':''; ?>> <?php echo $opt2; ?> </p> 
<p><input type=radio name='q<?php echo $id; ?>' value="c" <?php echo ($row[1] == 'c') ? 'selected="selected"':''; ?>> <?php echo $opt3; ?> </p> 
<p><input type=radio name='q<?php echo $id; ?>' value="d" <?php echo ($row[1] == 'd') ? 'selected="selected"':''; ?>> <?php echo $opt4; ?> </p> 
0

<p><input type="radio" name="q<?php echo $id; ?>" value="a" <?php if($opt1=='a') echo "checked='checked'"; ?>><?php echo $opt1; ?> </p> 
+0

제출을 클릭하면 저장됩니다. Internet Explorer 내부에 제출 된 값을 저장하고 싶지 않은 자바 스크립트 돌아 가기 버튼이 있습니다. – user1611341

+0

@ user1611341 이것은 표시 목적을위한 것입니다. 어느 라디오 버튼을 클릭해도 그 값을 얻게됩니다. – Sibu

+0

하지만 사용자가 자바 스크립트를 다시 클릭하면 다시 한 번 값을 검색하는 방법은 무엇입니까? 사파리와 파이어 폭스 값이 아직 거기에 있지만 IE에서 그것을 다시 설정, 값을 저장하고 다시 가져올 필요가 – user1611341

0

당신이 간단하게 확인할 수있는이 방법을 사용해보십시오 경우

<?=($answer == 'a')?("checked='checked'"):(""); ?> 
를 사용하여 옵션 여부에 대한 답 일치

대답이 옵션과 동일하면 echo checked='checked' else empty string

당신의 대답은 $row["Answer"];에 저장되어 있다고 가정하면 전체 코드는

<?php 
    //retreive questions from database and put into question box 

    $query2 = "SELECT `QuestionId`, `Question`, `Opt1`, `Opt2`, `Opt3`, `Opt4`,`Answer` FROM `pf_questions`"; 

    $question2 = mysql_query($query2); 

    while($row = mysql_fetch_array($question2)){ 

     $id   = $row['QuestionId']; 
     $question = $row['Question']; 
     $opt1  = $row['Opt1']; 
     $opt2  = $row['Opt2']; 
     $opt3  = $row['Opt3']; 
     $opt4  = $row['Opt4']; 
     $answer  = $row["Answer"]; 




    ?> 
    <div id="ContainerQuestion"> 
     <span class="Question">Question <?php echo $id; ?>. <?php echo $question; ?></span> 

      <p><input type=radio name='q<?php echo $id; ?>' <?=($answer == 'a')?("checked='checked'"):(""); ?> value="a"> <?php echo $opt1; ?> </p> 
      <p><input type=radio name='q<?php echo $id; ?>' <?=($answer == 'b')?("checked='checked'"):(""); ?> value="b"> <?php echo $opt2; ?> </p> 
      <p><input type=radio name='q<?php echo $id; ?>' <?=($answer == 'c')?("checked='checked'"):(""); ?> value="c"> <?php echo $opt3; ?> </p> 

      <p><input type=radio name='q<?php echo $id; ?>' <?=($answer == 'd')?("checked='checked'"):(""); ?> value="d"> <?php echo $opt4; ?> </p> 


    </div> 
    <?php 
    } 

    ?> 

참고 옵션 (A, B, C, D)

1
<p><input type=radio name='q<?php echo $id; ?>' <?php echo $answer == 'a'?'checked="checked"':'' ?> value="a"> <?php echo $opt1; ?> </p> 
<p><input type=radio name='q<?php echo $id; ?>' <?php echo $answer == 'b'?'checked="checked"':'' ? value="b"> <?php echo $opt2; ?> </p> 
<p><input type=radio name='q<?php echo $id; ?>' <?php echo $answer == 'c'?'checked="checked"':'' ? value="c"> <?php echo $opt3; ?> </p> 
<p><input type=radio name='q<?php echo $id; ?>' <?php echo $answer == 'd'?'checked="checked"':'' ? value="d"> <?php echo $opt4; ?> </p> 
0

한다고 가정과 동일 $answer 필드가 'a', 'b', 'c'또는 'd'이면 작동합니다.

<p><input type=radio name='q<?php echo $id; ?>' value="a" <?php if($answer == 'a'){ echo "checked='checked'";} ?>> <?php echo $opt1; ?> </p>