테스트 사이트 - 개발 중인 베타 버전입니다

회원정보 셀렉트박스 수정시 초기화 채택완료

더루차 3년 전 조회 3,843

그누보드를 뒤지고 뒤져서 겨우 성공한 경험이 많아 늘 도움 받고 있어 감사합니다

회원정보 여분필드 mb_1 ,2,3 사용하여 다중 셀렉트박스로 회사,부서,팀 명으로 사용하고 있습니다

회사, 부서, 팀 명은 g5_part 테이블에서 company , part , team 열로 저장 되어있는 것을

불러와서 각각 g5_member 테이블에 mb_1, mb_2, mb_3 에 입력하고 있구요

여기서 질문!  회원 가입 필드에서 받은 값 3가지가 제대로 입력은 되어 있어 

관리자메뉴 - 회원관리로 들어가면 다 확인은 됩니다

관리자가 수정하거나 회원 본인이 수정 할때에는 값을 불러오지 못해 매번 입력해주거나

입력하지 않고 저장 했을시엔 없는 것으로 인식하고 모두 빈 값으로 저장 됩니다.

셀렉트박스는 유지 하면서 입력 되어있는 값이 기본적으로 세팅이 되도록 하고 싶습니다.

어떻게 해결해야 할까요 ㅠ.ㅠ

 

</p>

<p><?php</p>

<p>//부서 테이블 관련 SQL 쿼리문</p>

<p>$sql = " select * from g5_part ";</p>

<p>$res = sql_query($sql);</p>

<p>for ($i=0; $row = sql_fetch_array($res); $i++) {</p>

<p>      $nm[$i] = $row['company'].'|1|'.$row['part'].'|2|'.$row['team'].'|3|';</p>

<p>}</p>

<p>?></p>

<p><!---SQL 셀렉트박스 시작 --></p>

<p> </p>

<p>                <script type="text/javascript"></p>

<p>                function getCataAllId(cmd){</p>

<p>                cmd = eval(cmd);</p>

<p>                cmd2 = cmd +1;</p>

<p>                initCataID(cmd);</p>

<p>                var ch = "";</p>

<p>                for(var idx = 1; idx < cmd2; idx++){</p>

<p>                    ch = ch + eval("mb_"+idx+".value") + "|"+idx+"|";</p>

<p>                }</p>

<p>                var v = 0;</p>

<p>                var temp = "";</p>

<p>                var tempv = "";</p>

<p>                var arg = "";</p>

<p>                for(var m = 0; m < menuArr.length; m ++) {</p>

<p>                    arg = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|")) ;</p>

<p>                    temp = menuArr[m].substring(0, menuArr[m].indexOf("|"+cmd+"|")+3);</p>

<p>                    if(temp == ch && tempv != arg ){</p>

<p>                            v++;</p>

<p>                            eval("mb_"+cmd2+".length = mb_"+cmd2+".length + 1");</p>

<p>                            eval("mb_"+cmd2+".options["+v+"].value = arg ");</p>

<p>                            eval("mb_"+cmd2+".options["+v+"].text  = arg ");</p>

<p>                    }</p>

<p>                    if(temp != ch){</p>

<p>                        tempv = "";</p>

<p>                    }else{</p>

<p>                        tempv = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|"));</p>

<p>                    }</p>

<p>                }</p>

<p>                }</p>

<p>               </p>

<p>                function initCataID(cmd){</p>

<p>                cmd = eval(cmd);</p>

<p>                if(cmd == 1){</p>

<p>                    mb_2.length = 1;</p>

<p>                    mb_3.length = 1;</p>

<p>                    mb_2.selectedIndex = 0;</p>

<p>                    mb_3.selectedIndex = 0;</p>

<p>                }</p>

<p>                if(cmd == 2){</p>

<p>                    mb_3.length = 1;</p>

<p>                    mb_3.selectedIndex = 0;</p>

<p>                }</p>

<p>                }</p>

<p>

 </p>

<p>                </script></p>

<p>                <tr></p>

<p>                    <th scope="row"><label for="mb_level">회원 권한</label></th></p>

<p>                    <td><?php echo get_member_level_select('mb_level', 1, $mb['mb_level'], $mb['mb_level']) ?></td></p>

<p>                    <!--<th scope="row">포인트</th></p>

<p>                    <td><a href="./point_list.php?sfl=mb_id&amp;stx=<?php echo $mb['mb_id'] ?>" target="_blank"><?php echo number_format($mb['mb_point']) ?></a> 점</td> --></p>

<p>                    <th scope="row"><label for="mb_1">회사 구분</label></th></p>

<p>                    <td></p>

<p>                        <select name = 'mb_1' id='mb_1' OnChange='javascript:getCataAllId(1)' class="select1"></p>

<p>                        <option value='<?php echo $part['company'] ?>' selected="selected">회사 선택</option></p>

<p>                        </select></p>

<p>                    </td></p>

<p>                </tr></p>

<p>                <tr></p>

<p>                    <th scope="row"><label for="mb_2">부 구분</label></th></p>

<p>                    <td></p>

<p>                        <select name = 'mb_2' id='mb_2' OnChange='javascript:getCataAllId(2)' class="select2"></p>

<p>                        <option value='<?php echo $part['part'] ?>' selected="selected">부 선택</option></p>

<p>                        </select></p>

<p>                    </td></p>

<p>                    <th scope="row"><label for="mb_3">팀 구분</label></th></p>

<p>                    <td></p>

<p>                        <select name = 'mb_3' id='mb_3' OnChange='javascript:getCataAllId(3)' class="select3"></p>

<p>                        <option value='<?php echo $part['team'] ?>' selected="selected">팀 선택</option></p>

<p>                        </select></p>

<p>                    </td></p>

<p>                </tr></p>

<p>                <script type="text/javascript"></p>

<p>                /* JSON encode, parse  */</p>

<p>                var stuff = <?php echo json_encode($nm); ?>;</p>

<p>                var str = JSON.stringify(stuff);</p>

<p>                var menuArr = new Array();</p>

<p>                    menuArr= JSON.parse(str);</p>

<p>                var z1 = 0;</p>

<p>                var temp1 = 0;</p>

<p>                initCataID(1);</p>

<p>                for(var m = 0; m < menuArr.length; m ++) {</p>

<p>                    if ( menuArr[m].substring(0, menuArr[m].indexOf("|1|")) != temp1 ){</p>

<p>                        mb_1.length =  mb_1.length + 1;</p>

<p>                        mb_1.options[z1+1].value = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;</p>

<p>                        mb_1.options[z1+1].text = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;</p>

<p>                        temp1 = menuArr[m].substring(0, menuArr[m].indexOf("|1|"));</p>

<p>                        z1++;</p>

<p>                    }</p>

<p>                    /*  index 1에 중복 제거입니다.  */</p>

<p>                }</p>

<p>                </script></p>

<p> </p>

<p>                <!-- SQL 셀렉트박스 끝 --></p>

<p> </p>

<p>

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

답변 2개

채택된 답변
+20 포인트
e
3년 전

회사선택 option 위에 아래 소스를 추가해주면 될것 같네요.

<option value='<?php echo $member['mb_1'] ?>' selected="selected"><?php echo $member['mb_1'] ?></option>

 

부 구분 추가

<option value='<?php echo $member['mb_2'] ?>' selected="selected"><?php echo $member['mb_2'] ?></option>

 

팀 구분 추가

<option value='<?php echo $member['mb_3'] ?>' selected="selected"><?php echo $member['mb_3'] ?></option>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

더루차
3년 전
댓글 남겨주셔서 감사합니다 ^^

이미지 때문에 새로운 답변으로 남겨두었습니다 확인해 주시면 감사하겠습니다

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

3년 전

댓글 남겨주셔서 감사합니다 ^^ 

일단 임시방편으로 회원이 수정할때에는 건들지 않는이상 원래 그대로 있는걸로 해결이 됐는데요

</p>

<p><option value='<?php echo $member['mb_1'] ?>' selected="selected"><?php echo $member['mb_1'] ?  $member['mb_1'] : '회사 선택'  ?></option></p>

<p>

의 방법으로 새로 회원가입 할 때에 없는것도 해결 했습니다 그런데,

 

관리자 메뉴에서 다른 회원을 수정할 때에는 회원 본인의 값이 들어와 지지 않습니다

 

a라는 회원이 있을 때 관리자가 a의 회원 정보를 수정하기 위해 들어가면 

a의 정보가 들어오는게 아닌 관리자의 회사,부서,팀 정보가 들어오게 됩니다.

 

+ 추가로, 

이런식으로 표시가 되고 있는데

회원이 정보수정을 할때에 기존 값과 같은 값은 하나만 나오게 할 수 있을까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

e
eyekiss
3년 전
<option value='<?php echo $mb['mb_1'] ?>' selected="selected"><?php echo $mb['mb_1'] ? $mb['mb_1'] : '회사 선택' ?></option>
이렇게 수정해보세요
더루차
3년 전
진짜 진짜 너무 감사합니다 ..!

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

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

로그인