배열 for문 고수님들 부탁드립니다..

배열 for문 고수님들 부탁드립니다..

QA

배열 for문 고수님들 부탁드립니다..

답변 1

본문


    $service_1st_arr = array(
        '한글',
        '숫자'
    );
$service_2st_arr = array(
        '한글' =>    array(
                                $result[wr_subject],
                         ),
        '숫자' =>    array(
                            '1',
                            '2',
                        )
    );
$query="select * from g5_write_999_202 ";
$result=sql_query($query);
                <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>
<?if(!sizeof($service_2st_arr[$wr_40]) ) $wr_4_hidden = "display: none;";
?>
         <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>
<script>
$('#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;
        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();
    }
});
</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',

                        )

    );

요렇게요..

 

 

 

$test = array();
for( $i = 0 ;  $row=sql_fecth_array($result)  ; $i++ ){
    array_push( $test , $row[wr_subject]  );
}

아 여기부분에서 fecth-> fetch  오타가있었네요 ㅠㅠ근데 한가지
저렇게 배열을 만들면
option 값에 들어가있는 값이 다나옵니다 -> 가,나,다,라,마,바사 ........
저는


다 이렇게 한개씩 선택되게하고싶어서요ㅠㅠ

일단 $service_2st_arr 배열이

원하시는 대로 값이 잘 셋팅 됐는지 확인 해 보세요.

$service_2st_arr = array(

        '한글' =>    array(

                              '가'

                              '나',

                              '다'

                         ),

        '숫자' =>    array(

                            '1',

                            '2',

                        )

    );





이런식으로 잘 만들어 졌는지 확인해 보시고요.

arr_4 = JSON.parse('<?=json_encode($service_2st_arr)?>'),

이 라인 이후에

arr_4 값도 값을 찍어서 확인해 보시고

배열이 일단 괞찮게 만들어 졌는지 확인 해 

보실 필요가 있을듯 하네요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 120
© SIRSOFT
현재 페이지 제일 처음으로