미래는 지금 현재 우리가 무엇을 하고 있는가에 달려 있다. 채택완료

반갑습니다. 그누x쵸딩입니다.

바로 질문들어갈게요~ ㅎ

쓰기에서 체크박스를 배열로 했습니다.

 <input type="checkbox" name="<?php echo 'extra'.$i;?>" id="extra<?=$i?>" class="css-checkbox2"  value="extra" <? if ($extra[$i] == 'extra') echo "checked";?> />

그래서 업데이트에서

for($h=0;$h <10; $h++) {

   if ($h > 0) $extra .= "|";
   $extra .= $_POST['extra'.$h];
}
요렇게 해서 잘되는데요...

그런데 만지작거리다가 사고가 터졌습니다..ㅜㅜㅜ

쓰기를 동적추가로 바꾸다 보니..

이제 업데이트코드가 부적절해졌다는 것입니다.

h<10까지 나오게 했는데

동적추가폼으로 바꾸다보니 h<10으로 고정된 것은 

안맞는 상황이 발생했다는 것입니다..흑흑

이런때는 어떻게 해야 하는지 도움좀 부탁드립니다.

계속 질문해서 죄송한데...

실력이 안되는 x쵸딩이다보니..

qa나 인터넷 뒤져도 이해도 어렵고

부득이 질문올립니다.

답변 1개

채택된 답변
+20 포인트

html

<input type="checkbox" name="extra[]" id="extra<?=$i?>" class="css-checkbox2"  value="extra" <? if ($extra[$i] == 'extra') echo "checked";?> />

php

$extra = implode("|", $_POST['extra']);

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

답변에 대한 댓글 8개

아,감사합니다. 해보겠습니다.
해보았는데요, 수정할 때마다 체크상태가 옴겨다닙니다. 왜그런가요?
html
$ext = explode("|", $extra);
for($i = 0; $i < count($ext); $i++) {
$checked = $ext[$i] == "extra" ? " checked" : "";
echo "<input type='checkbox' name='extra[]' id='extra".$i."' class='css-checkbox2' value='extra'".$checked.">";
}

$extra가 어떤 값을 읽어오는지 모르겠지만 저 부분을 저장된 값으로 교체하시면 됩니다.
아,감사합니다..코드가 필이 옵니다...ㅎㅎ
죄송합니다. 다 된거 같은데 1%가 안되서 ㅋ
<input type="checkbox" name="extra[]" id="extra<?=$i?>" class="css-checkbox2" value="○" <? if ($extra[$i] == '○') echo "checked";?> style="width:40%"/>
원래코드가 벨류를 기호로 이런데요..

알려주신 반복문이 동적추가하기 위한 바깥의 for문하고 충돌나서
겹치기 않게 k로 바꿨더니 체크박스가 안나타납니다..흑흑
<?
$ext = explode("|", $extra);
for($k = 0; $k < count($ext); $k++) {
$checked = $ext[$k] == "extra" ? " checked" : "";
echo "<input type='checkbox' name='extra[]' id='extra".$k."' class='css-checkbox2' style='width:40%' value='extra'".$checked.">";
}
?>
for($k = 0; $k < count($ext); $k++) {
$checked = $ext[$k] == "○" ? " checked" : "";
echo "<input type='checkbox' name='extra[]' id='extra".$k."' class='css-checkbox2' style='width:40%' value='○'".$checked.">";
}
시간내주셔서 감사합니다.

<? if ($extra[$i] == '○') echo "checked";?>
원래 이렇게 되엇던건데..
php안에 넣으면서 value='○'".$checked." 이부분 때문에 안나타는거 같습니다.
제가 올려드린 코드 그대로 사용하신 건가요?
<? if ($extra[$i] == '○') echo "checked";?>
이 코드는 나와야 할 이유가 없습니다.

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

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

로그인
🐛 버그신고