list에서 checkbox 체크한 row만 따로 출력하기
본문
말 그대로 리스트에서 맨 앞에 체크박스를 for 구문에 같이 돌리고
그 체크한 row만 출력이 가능한지 여쭙고 싶네요.
리스트에는 아래 소스를 넣었고,
1 |
<input type= 'hidden' name= 'od_id[$i]' value= '$row[od_id]' > |
2 |
<input type=checkbox name= 'od_chk[$i]' value= '1' > |
출력할 페이지에는 아래 소스로 구문을 돌렸습니다.
1 |
for ( $i =0; $i < count ( $_POST [od_id]); $i ++) { |
2 |
if ( $_POST [od_chk][ $i ]== "1" ) { |
체크를 5개 하고 인터넷 화면 상에서 출력 페이지를 보니
가장 최근의 1 row 만 반복적으로 5개가 출력이 되더라구요..
어떻게 해야 될지 조언좀 부탁드립니다^^
답변 4
리스트에서 input이 두개 필요없습니다
아래처럼 하고
<input type=checkbox name='od_chk[]' value='<?=$row[od_id]?>'>
출력할 곳에서는
<?
for
(
$i
=0;
$i
<
count
(
$_POST
[od_chk]);
$i
++) {
echo
$_POST
[od_chk][$i]; //체크한 것만 넘어오므로 if문 필요없음
echo "<input type='checkbox' name='chk[{$i}]' value='{$row[od_id]}' />";
=====================================================================
<?
echo "카운터 확인:".count($_POST[chk]);
for($i=0;$i<count($_POST[chk]);$i++) {
if($_POST[chk][$i]=='1') {
...
첨부해주신 소스만으로는 확인이 불가능합니다.
출력부분의 소스라든가, 출력 결과 같은 것이 더 있어야 문제를 파악할 수 있을 듯 합니다.
많은 도움이 되었습니다. 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.