checkbox 질문 드립니다 선생님 채택완료
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_s = $result4['product_index']; $sql5 = "select * from {$g5['g5_pg_table']} where p_idx = '$p_idx_s'"; $result5 = sql_query($sql5); $sql2 = " select * from {$g5['g5_glass_table']} where 1"; $result2 = sql_query($sql2); //print_r($result5); for ($c=0;$row5=sql_fetch_array($result5);$c++){ $re5v[] = $row5['g_idx']; } for ($d=0; $row2 = sql_fetch_array($result2); $d++) { if($re5v[$d]['g_idx'] == $row2['glass_index']){ $checked = 'checked'; } else { $checked = ''; }; //print_r2 ($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 } ?>
위와 같이 checkbox 를 화면에 뿌려주고 있습니다.
제가 안되고 있는 부분이 쿼리를 불러와서 그 쿼리의 값과 다른 쿼리에서 가져온 값
두개를 비교해서 같은 값이면 check 되도록 같은 값이 없으면 check 안되도록 하고자 합니다.
배열로 값은 다 들고 오는데 그 배열을 서로 매치를 시키지를 못하겠습니다.
이해를 돕기 위해 $re5v[$d] = 2와 4를 $row2['glass_index'] = 1,2,3,4,5 이렇게 5개의 값을 가지고 있습니다.$re5v[$d] 의 값과 $row2['glass_index'] 의 값이 동일한 2,4 일때만 check 를 하고 싶습니다.
설명을 좀 해주시면 감사하겠습니다.
부탁드립니다.
답변 2개
채택된 답변
+20 포인트
10년 전
체크하는 조건문 부분을
if($re5v[$d]['g_idx'] == $row2['glass_index'])
if(in_array($row2['glass_index'],$re5v)) 식으로 하면 될것 같은데요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
10년 전
if(in_array($row2['glass_index'],$re5v)) { $checked = 'checked'; } else { $checked = ''; };
댓글을 작성하려면 로그인이 필요합니다.
10년 전
질문을 확실히 이해했는지는 모르겠지만...
Copy
$arr_a = array(2,4);$arr_b = array(4,2);sort($arr_a);sort($arr_b);//값이 인덱스와 상관없이 존재하기만 하면 된다면.if($arr_a == $arr_b) echo "같습니다.";else echo "같지 않습니다.";
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인