배열 for문 고수님들 부탁드립니다.. 채택완료
$service_1st_arr = array(
'한글',
'숫자'
);</p>
<p>$service_2st_arr = array(
'한글' => array(</p>
<p> $result[wr_subject],</p>
<p> ),
'숫자' => array(
'1',
'2',
)
);</p>
<p>$query="select * from g5_write_999_202 ";
$result=sql_query($query);</p>
<p> <select name="wr_40" id="wr_40">
<option value="">선택</option>
<?foreach($service_1st_arr AS $st1Val){?>
<option value="<?=$st1Val?>"<?php echo get_selected($wr_40, $st1Val); ?>><?=$st1Val?></option>
<?}?>
</select></p>
<p><?if(!sizeof($service_2st_arr[$wr_40]) ) $wr_4_hidden = "display: none;";</p>
<p>?>
<select name='wr_4' id="wr_4" style='<?=$wr_4_hidden?>'>
<option value=''>선택</option>
<?for($i=0; $row=sql_fetch_array($result); $i++){?>
<option value='<?=$row[wr_subject]?>'><?=$row[wr_subject]?></option>
<?}?>
</select></p>
<p><script></p>
<p>$('#wr_40').change(function(){
var val_40 = $(this).val(),
arr_4 = JSON.parse('<?=json_encode($service_2st_arr)?>'),
opt_4 = '';
if(val_40 in arr_4){
$('#wr_4').empty();
len_4 = arr_4[val_40].length;</p>
<p> opt_4 = "<option value=''>선택</option>";
for(var i=0; i<len_4; i++){
opt_4 += "<option value='"+arr_4[val_40][i]+"'>"+arr_4[val_40][i]+"</option>";
}
$('#wr_4').append(opt_4);
$('#wr_4').show();
}else{
$('#wr_4').hide();
}
});</p>
<p></script>
소스가 중구난방으로 되어있는데 요약하자면
1차 <select> 한글 혹은 숫자를 선택시 한글에 가,나 ,다 이렇게 다른테이블꺼를 for문으로 돌릴려고하는데 어떻게해야좋을지요ㅠㅠ
위에 숫자처럼 1,2,3,4, 이렇게 직접 입력하면되는데 저 배열안에서 for문을 줄수있는지가 의문입니다..
$query="select * from g5_write_999_202 ";
$result=sql_query($query); 이부분에서
$result=sql_fetch($query);를 쓰면 $result[wr_subject]가 먹긴한데 당연히 첫번째 데이터밖에 뜨지않구요
$result=sql_query($query);를 쓰고
한글=> array()안에다가
for($i=0; $row=sql_fecth_array($result);$i++){
echo $row[wr_subject];
} 를 하면 오류가나구요
답변 1개
배열 안에서 for 문을 돌리면 안될거 같고요.
배열을 만들어서
배열 안에 넣어 보심 어떨까 싶습니다.
$test = array();
for( $i = 0 ; $row=sql_fecth_array($result) ; $i++ ){
array_push( $test , $row[wr_subject] );
}
$test 라는 배열을 만든 다음....
$service_2st_arr = array(
'한글' => array(
$test
),
'숫자' => array(
'1',
'2',
)
);
요렇게요..
답변에 대한 댓글 3개
for( $i = 0 ; $row=sql_fecth_array($result) ; $i++ ){
array_push( $test , $row[wr_subject] );
}
아 여기부분에서 fecth-> fetch 오타가있었네요 ㅠㅠ근데 한가지
저렇게 배열을 만들면
option 값에 들어가있는 값이 다나옵니다 -> 가,나,다,라,마,바사 ........
저는
가
나
다 이렇게 한개씩 선택되게하고싶어서요ㅠㅠ
원하시는 대로 값이 잘 셋팅 됐는지 확인 해 보세요.
$service_2st_arr = array(
'한글' => array(
'가'
'나',
'다'
),
'숫자' => array(
'1',
'2',
)
);
이런식으로 잘 만들어 졌는지 확인해 보시고요.
arr_4 = JSON.parse('<?=json_encode($service_2st_arr)?>'),
이 라인 이후에
arr_4 값도 값을 찍어서 확인해 보시고
배열이 일단 괞찮게 만들어 졌는지 확인 해
보실 필요가 있을듯 하네요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인