테스트 사이트 - 개발 중인 베타 버전입니다

for문으로 생성한 라디오버튼 값 write_update.php로 넘겨줄때 채택완료

zpi20 10년 전 조회 6,871

조회된 쿼리값의 결과만큼 for문을 돌려 라디오버튼을 생성합니다.

$i=0;

예를 들어서 name='a_' 로 선언을 해주었는데, write_update.php로 넘길때 $i(=0)의 값이 넘어가서 ​골치가 아픕니다..ㅠㅠ 어떻게 넘겨줘야 할까요?

 

아래는 라디오버튼 생성하는 코드입니다.

</span></p><p><span style="font-size: 11pt; line-height: 1.5;"></span><? for ($i=0; $i<count($list_1); $i++) { ?></p><p><tr></p><p><span class="Apple-tab-span" style="white-space:pre">	</span><td class=write_head><?=$list_1[$i][item_nm]?></td></p><p style="margin-left: 40px;"><td></p><p>    <span class="Apple-tab-span" style="white-space:pre">	</span> <input type='radio' name='score_<?=$i?>' value='5' onClick='sum()'>5점</p><p><span class="Apple-tab-span" style="white-space:pre">	</span> <input type='radio' name='score_<?=$i?>' value='4' onClick='sum()'>4점</p><p><span class="Apple-tab-span" style="white-space:pre">	</span> <input type='radio' name='score_<?=$i?>' value='3' onClick='sum()'>3점</p><p><span class="Apple-tab-span" style="white-space:pre">	</span> <input type='radio' name='score_<?=$i?>' value='2' onClick='sum()'>2점</p><p><span class="Apple-tab-span" style="white-space:pre">	</span> <input type='radio' name='score_<?=$i?>' value='1' onClick='sum()'>1점</p><p><span class="Apple-tab-span" style="white-space:pre">	</span> <input type='radio' name='score_<?=$i?>' value='0' onClick='sum()' checked='checked'>0점</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></td><span class="Apple-tab-span" style="font-size: 11pt; line-height: 1.5; white-space: pre;">		</span></p><p style="margin-left: 40px;"><span style="font-size: 11pt; line-height: 1.5;"><td><input type="hidden" name='item_no_<?=$i?>' value='<?=$list_1[$i][item_no]?>'></td></span></p><p><span style="font-size: 11pt; line-height: 1.5;"></tr></span></p><p><?}?><span style="font-size: 11pt; line-height: 1.5;"> </span></p><p><span style="font-size: 11pt; line-height: 1.5;">

 

아래는 write_update.php 소스코드입니다.

 

</span></p><p><span style="font-size: 11pt; line-height: 1.5;"></span>$sql = "SELECT * from table";</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$result = sql_query($sql);</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>for ($i=0; $row=sql_fetch_array($result); $i++) </p><p><span class="Apple-tab-span" style="white-space:pre">		</span>{</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>    $sql="update 'table명' </p><p style="margin-left: 160px;"><span style="font-size: 11pt; line-height: 1.5;"> set '컬럼명' = $</span><span style="font-size: 14.6666669845581px; line-height: 17.6000003814697px;">score_$i</span><span style="font-size: 11pt; line-height: 1.5;">​";</span></p><p><span class="Apple-tab-span" style="white-space:pre">			</span>sql_query($sql);</p><p><span class="Apple-tab-span" style="white-space: pre;">		</span>}<span style="font-size: 11pt; line-height: 1.5;"> </span></p><p>

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
d
10년 전

아.. 위에분것 보고 착각을 했네요... 현재 폼은 그렇게 구성하시는게 맞습니다.

받는 쪽에서는

$score_$i

이게 아니라..

        for ($i=0; $row=sql_fetch_array($result); $i++) 

      {

$score=$_POST["score".$i];

//저장 로직

} 

이렇게 받아 보세요

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

z
zpi20
10년 전
감사합니다. 덕분에 많은걸 알고 갑니다^^

댓글을 작성하려면 로그인이 필요합니다.

​과목 점수 국어 5점,4점,3점,2점,1점 영어 5점,4점,3점,2점,1점

 

db생성시 구분만 잘하시면 됩니다 

 

1 홍길동 국어 1점 영어 2점

2 강백호 국어 3점 영어 2점

3 그누보이 국어 1점 영어 1점

4 허군 국어 2점 영어 5점

 

이럴경우 보통

num int(12) unsigned  

name varchar(255)

kor tynyint(4) unsigned

eng tynyint(4) unsigned 

db를 요런식으로 만들어 놓고 kor은 국어 eng는 영어로 하기때문에

과목에 대한 컬럼명이 필요치 않습니다 그 과목에 대한 값만 넣으면 되니까요 

 

 

 

 

 

 

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

d
10년 전

불량학생님 답변이 맞습니다.

다만 체크박스도 라디오박스와 같은 방식입니다.

name는 같아야 합니다.

 

사용하신 방법은 name이 모두 다르기에.. 라디오버튼을 체크박스처럼 사용하셨다 볼수 있겠습니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

z
zpi20
10년 전
그럼 하드코딩밖에 답이 없나요??ㅠㅠ 셀렉트 된 과목명에 따라 점수선택하는게 여러개 나올 수 있게 하고 싶었는데...(학생마다 선택한 과목이 천차만별이기에)

과목 점수
국어 5점,4점,3점,2점,1점
영어 5점,4점,3점,2점,1점

라디오 버튼을 이용하려면 결국 하드코딩 밖엔 답이 없는건지 궁금합니다ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

잘못하신듯합니다

'radio' name='score' value='1' onClick='sum()' checked='checked'>

'radio' name='score' value='2' onClick='sum()' checked='checked'>

'radio' name='score' value='3' onClick='sum()' checked='checked'>

'radio' name='score' value='4' onClick='sum()' checked='checked'>

'radio' name='score' value='5' onClick='sum()' checked='checked'> 

이렇게 하시는게 맞습니다

현재사용하는 방식은 체크박스를 사용할때 쓰입니다  

이렇게 넣으시고

$score 값을 db에 저장 하시면 됩니다 

 

 

 

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

z
zpi20
10년 전
그렇게 해보니까 과목별로 라디오버튼을 선택할 수 있는게 아니라 총 과목중에 라디오버튼 딱 하나밖에 선택이 안되는데 다른방법은 없나요??

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인