채택완료

checkbox 한번 더 질문 드려요 ㅠㅠ 으어어 선생님 ~~

2015-11-14 (토) 17:24:17 2,136
Copy
<?php										$sql4 = "select product_index from {$g5['g5_product_table']} where p_id = '$p_id' ";					$res4 = sql_query($sql4);					$result4 = sql_fetch_array($res4);					$p_idx_se = $result4['product_index'];					$p_idx_s = $row['product_index'];					//print_r2($p_idx_s);					$sql5 = "select * from {$g5['g5_pg_table']} where p_idx = '$p_idx_s' order by g_idx asc";					$result5 = sql_query($sql5);					//print_r2($result5);					$sql2 = " select * from {$g5['g5_glass_table']} where 1";					$result2 = sql_query($sql2);										for ($c=0;$row5=sql_fetch_array($result5);$c++){						$re5v[] = $row5['g_idx'];						//print_r2($row5['g_idx']);					}											for ($d=0; $row2 = sql_fetch_array($result2); $d++) {						if(in_array($row2['glass_index'],$re5v)){ $checked = 'checked'; } else { $checked = ''; };						//print_r2("상위 for문의 결과 === ".$re5v);						//print_r2($row2);					?>										<input type = "checkbox" id="select_g<?php $d;?>" name="select_g[]"<?php echo $checked; ?> class="select_g" value="<?php echo $row2['glass_index']; ?>" ><?php echo $row2['glass_nm']; ?>					<?php					}										?>

일전에 질문을 올렸을때 알려주신 방법으로 

수정 폼 쪽에서는 정상적으로 다 작동이 되고 있습니다.

비슷한 방식이겠거니 하고 

그 방식에 리스트 쪽으로 적용을 시킬려고 가져와서 

약간의 소스 추가 하고 적용을 하니 제대로 나오지를 않습니다.

제일 늦게 들어간 값은 정상으로 나오고 그 밑으로 먼저 들어간 값들은

상위의 값들을 다 같이 체크를 하고 있습니다.

------------------------------------

A name ㅁ |  체크  |  ㅁ  |  ㅁ  |  체크

------------------------------------

B name ㅁ |  체크  | 체크 |  ㅁ  |  체크

------------------------------------ 

C name ㅁ |  체크  | 체크 |  ㅁ  |  체크

 

리스트가 저런 식으로 표현 되고 있는데

실제 값이 들어 있는건 

A 는 2 번 5번 체크가 맞고

B 는 3번 체크

C 는 체크된게 없어야 합니다.

그런데 상위에 새로운 값이 들어오면 하위는 그 값을 전부 다 체크를 하게 표현 되고 있습니다.

리스트의 index값을 조회 해서 그 값을 가지는 index 에서 

양쪽 값을 비교해서 같은 값이 있을때 체크를 시키는 방법으로 하는데요

말로 표현 하는거 보다 

실제 적어놓은 소스를 보시는게 더 이해가 편하실듯 합니다.

한번 보시고 뭐가 문제인지 알려주시면 대단히 감사하겠습니다.

제발 부탁드립니다 ㅠㅠ 

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

14                     
15                    for ($c=0;$row5=sql_fetch_array($result5);$c++){
16                        $re5v[] = $row5['g_idx'];
17                        //print_r2($row5['g_idx']);
18                    }

위 소스 바로 앞에 아래 한줄을 추가해 보세요.

unset($re5v);

답변에 대한 댓글 1개

답변 감사합니다.
글 올려놓고 어제 혼자 완료 했습니다.
unset을 쓰는것을 모르고 있었습니다.

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