회원정보 셀렉트박스 수정시 초기화 채택완료
그누보드를 뒤지고 뒤져서 겨우 성공한 경험이 많아 늘 도움 받고 있어 감사합니다
회원정보 여분필드 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&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개
회사선택 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개
댓글을 작성하려면 로그인이 필요합니다.
댓글 남겨주셔서 감사합니다 ^^
일단 임시방편으로 회원이 수정할때에는 건들지 않는이상 원래 그대로 있는걸로 해결이 됐는데요
</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개
이렇게 수정해보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이미지 때문에 새로운 답변으로 남겨두었습니다 확인해 주시면 감사하겠습니다