웹마스터 팁
page_full_width">
체크박스등으로 배열로 변수를 넘길때..
2003.06.06 13:39
보통.. 여러개의 체크박스를.. 한꺼번에 체크하고.. 삭제를 한다든지 하는걸 많이 하실껍니다.
쉽게 사용하는 방법이..
<input type='checkbox' name='id[]' value='$row[key]'>
이런식으로.. id[] 로 변수를.. 배열로 넘겨서.. 처리하는 페이지에서
for($i =0 ; $i < count($id); $i++){
$id[$i] // 넘어온 변수 처리..
}
count 로 넘어온 변수의 수를 계산하고.. $id[$i] 형식으로 처리하게 됩니다. 저같은 경우에는.. ^^;
그런데.. input type 이 text 가 되는 경우에는 얘기가 틀려지더군요..
즉.. 앞에 체크박스를 두고, 뒤에 input 박스를 두고..
이런게 여러개인 목록에서..
체크된 목록에만.. 값을 넣어서 넘기게 하는 프로그램을 하게 될 경우가 있었습니다.
체크박스는.. 위의 경우처럼.. 배열로 넘기면.. 체크된 부분들만.. 값들이 순서대로 넘어오는데..
input 박스의 경우는..
위의 경우처럼 배열로 넘기면..
그냥.. 값이 있던 없던.. 젤 위부터.. 차례로 넘어오더군요..
그래서.. 생각해낸 방법이..
체크박스에 들어가는 key 값을.. input 박스의 name으로 사용하는거였습니다. ^^
<input type='checkbox' name='id[]' value='$row[key]' >
<input name='+ '$row[key]' type='text' size='15' maxlength='20'>
물론.. $row[key] 값이.. 모두 틀리다는 가정하에서만 가능하겠죠..
그러고선.. 처리하는건..
for($i =0 ; $i < count($id); $i++){
$id[$i] // 체크박스.. 변수..
$$id[$i] // input 박스.. 변수..
}
체크박스로 넘어온 변수는 기존과 같고,
input 박스로 넘어온 변수는.. 체크박스변수를.. 다시 변수로 사용하시면 됩니다..^^
쉽게 사용하는 방법이..
<input type='checkbox' name='id[]' value='$row[key]'>
이런식으로.. id[] 로 변수를.. 배열로 넘겨서.. 처리하는 페이지에서
for($i =0 ; $i < count($id); $i++){
$id[$i] // 넘어온 변수 처리..
}
count 로 넘어온 변수의 수를 계산하고.. $id[$i] 형식으로 처리하게 됩니다. 저같은 경우에는.. ^^;
그런데.. input type 이 text 가 되는 경우에는 얘기가 틀려지더군요..
즉.. 앞에 체크박스를 두고, 뒤에 input 박스를 두고..
이런게 여러개인 목록에서..
체크된 목록에만.. 값을 넣어서 넘기게 하는 프로그램을 하게 될 경우가 있었습니다.
체크박스는.. 위의 경우처럼.. 배열로 넘기면.. 체크된 부분들만.. 값들이 순서대로 넘어오는데..
input 박스의 경우는..
위의 경우처럼 배열로 넘기면..
그냥.. 값이 있던 없던.. 젤 위부터.. 차례로 넘어오더군요..
그래서.. 생각해낸 방법이..
체크박스에 들어가는 key 값을.. input 박스의 name으로 사용하는거였습니다. ^^
<input type='checkbox' name='id[]' value='$row[key]' >
<input name='+ '$row[key]' type='text' size='15' maxlength='20'>
물론.. $row[key] 값이.. 모두 틀리다는 가정하에서만 가능하겠죠..
그러고선.. 처리하는건..
for($i =0 ; $i < count($id); $i++){
$id[$i] // 체크박스.. 변수..
$$id[$i] // input 박스.. 변수..
}
체크박스로 넘어온 변수는 기존과 같고,
input 박스로 넘어온 변수는.. 체크박스변수를.. 다시 변수로 사용하시면 됩니다..^^
<input name="check_<?=$row[key]?>" ...>
이렇게 쓰고, 처리는...
foreach($id as $value)
echo $value." - ".${"check_".$value}."n";
요렇게 하면 (아마도) 될 겁니다. (foreach는 괜히 써 봤습니다. $i 쓰고 하는 게 귀찮아서... foreach의 사용법은 PHP 매뉴얼을 뒤져 보세요.)