셀렉트박스 배열로 시간 입력받기
안녕하세요~
그누스터디에서 열공중인 1인입니다~
아주아주 좋은 정보들을 많이 배우고 있어요~
질문이 있습니다.
------------------------
오전 09:00 ~ 오후 23:00
------------------------
위 처럼 셀렉트박스로 회원가입할때 시간정보를 받고싶은데요
셀렉트박스 배열을 이용해 회원여분필드(mb_10)에 받고싶은데
어떻게 하면 좋을까요?
text 배열은 좀 이해가 되는데 select 배열은 이해가 잘안되서요 ㅠㅠ
댓글목록 +6
댓글목록
관리자님의 댓글
관리자 작성일
똑같습니다. name 만 분리하면 되는 겁니다.
예를 들어 좌우 나누면 2개로 쪼개면 될 테고 이렇게 할 수 있겠죠
<?php
$mb10 = explode("-",$member['mb_10']); // 시간
?>
<tr>
<th scope="row">시간선택</th>
<td>
<select name="mb10[0]">
<option value="">선택하세요.</option>
<option value="오전 09:00" <?php echo ($mb10[0] == "오전 09:00") ? "selected" : "";?>>오전 09:00</option>
<option value="오전 10:00" <?php echo ($mb10[0] == "오전 10:00") ? "selected" : "";?>>오전 10:00</option>
<option value="오전 11:00" <?php echo ($mb10[0] == "오전 11:00") ? "selected" : "";?>>오전 11:00</option>
</select>
-
<select name="mb10[1]">
<option value="">선택하세요.</option>
<option value="오후 09:00" <?php echo ($mb10[1] == "오후 09:00") ? "selected" : "";?>>오후 09:00</option>
<option value="오후 10:00" <?php echo ($mb10[1] == "오후 10:00") ? "selected" : "";?>>오후 10:00</option>
<option value="오후 11:00" <?php echo ($mb10[1] == "오후 11:00") ? "selected" : "";?>>오후 11:00</option>
</select>
</td>
</tr>
register_form_update.tail.skin.php 파일도 방법은 똑같습니다.
$mb_10 = "$mb10[0]-$mb10[1]";
sql_query(" update {$g5['member_table']} set mb_10 = '$mb_10' where mb_id = '$mb_id' ");
그누사랑님의 댓글의 댓글
그누사랑 작성일
skin/member/basic/register_form.skin.php 파일에
<?php
$mb10 = explode("-",$member['mb_10']); // 시간
?>
<tr>
<th scope="row">상담시간</th>
<td>
<select name="mb10[0]">
<option value="">선택하세요.</option>
<option value="오전" <?php echo ($mb10[0] == "오전") ? "selected" : "";?>>오전</option>
<option value="오후" <?php echo ($mb10[0] == "오후") ? "selected" : "";?>>오후</option>
</select>
:
<select name="mb10[1]">
<option value="">선택하세요.</option>
<option value=" 1시" <?php echo ($mb10[1] == " 1시") ? "selected" : "";?>> 1시</option>
<option value=" 2시" <?php echo ($mb10[1] == " 2시") ? "selected" : "";?>> 2시</option>
<option value=" 3시" <?php echo ($mb10[1] == " 3시") ? "selected" : "";?>> 3시</option>
<option value=" 4시" <?php echo ($mb10[1] == " 4시") ? "selected" : "";?>> 4시</option>
<option value=" 5시" <?php echo ($mb10[1] == " 5시") ? "selected" : "";?>> 5시</option>
<option value=" 6시" <?php echo ($mb10[1] == " 6시") ? "selected" : "";?>> 6시</option>
<option value=" 7시" <?php echo ($mb10[1] == " 7시") ? "selected" : "";?>> 7시</option>
<option value=" 8시" <?php echo ($mb10[1] == " 8시") ? "selected" : "";?>> 8시</option>
<option value=" 9시" <?php echo ($mb10[1] == " 9시") ? "selected" : "";?>> 9시</option>
<option value="10시" <?php echo ($mb10[1] == "10시") ? "selected" : "";?>>10시</option>
<option value="11시" <?php echo ($mb10[1] == "11시") ? "selected" : "";?>>11시</option>
<option value="12시" <?php echo ($mb10[1] == "12시") ? "selected" : "";?>>12시</option>
</select>
~
<select name="mb10[2]">
<option value="">선택하세요.</option>
<option value="오전" <?php echo ($mb10[2] == "오전") ? "selected" : "";?>>오전</option>
<option value="오후" <?php echo ($mb10[2] == "오후") ? "selected" : "";?>>오후</option>
</select>
:
<select name="mb10[3]">
<option value="">선택하세요.</option>
<option value=" 1시" <?php echo ($mb10[3] == " 1시") ? "selected" : "";?>> 1시</option>
<option value=" 2시" <?php echo ($mb10[3] == " 2시") ? "selected" : "";?>> 2시</option>
<option value=" 3시" <?php echo ($mb10[3] == " 3시") ? "selected" : "";?>> 3시</option>
<option value=" 4시" <?php echo ($mb10[3] == " 4시") ? "selected" : "";?>> 4시</option>
<option value=" 5시" <?php echo ($mb10[3] == " 5시") ? "selected" : "";?>> 5시</option>
<option value=" 6시" <?php echo ($mb10[3] == " 6시") ? "selected" : "";?>> 6시</option>
<option value=" 7시" <?php echo ($mb10[3] == " 7시") ? "selected" : "";?>> 7시</option>
<option value=" 8시" <?php echo ($mb10[3] == " 8시") ? "selected" : "";?>> 8시</option>
<option value=" 9시" <?php echo ($mb10[3] == " 9시") ? "selected" : "";?>> 9시</option>
<option value="10시" <?php echo ($mb10[3] == "10시") ? "selected" : "";?>>10시</option>
<option value="11시" <?php echo ($mb10[3] == "11시") ? "selected" : "";?>>11시</option>
<option value="12시" <?php echo ($mb10[3] == "12시") ? "selected" : "";?>>12시</option>
</select>
<input type="checkbox" name="mb_10" value="24시" <?php echo ($member['mb_10'] == "24시") ? "checked" : "";?>> 24시
</td>
</tr>
register_form_update.tail.skin.php 파일
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$mb_1 = "$mo[0]-$mo[1]-$mo[2]";
$sql = " update {$g5['member_table']} set mb_1 = '$mb_1' where mb_id = '$mb_id' ";
sql_query($sql);
$mb_10 = "$mb10[0]:$mb10[1]~$mb10[2]:$mb10[3]";
sql_query(" update {$g5['member_table']} set mb_10 = '$mb_10' where mb_id = '$mb_id' ");
?>
/adm/member_form.php 파일에
<tr>
<th scope="row"><label for="mb_10">상담시간</label></th>
<td><input type="text" name="mb_10" value="<?php echo $mb['mb_10'] ?>" id="mb_10" class="frm_input" size="30" maxlength="30"></td>
</td>
</tr>
이런식으로 작업했는데 회원정보수정에서 수정을 하면
관리자회원정보 수정페이지에는 시간이 넘어와서 저장되지만
회원정보에서는 수정을해도 [선택하세요]로 원상복구 됩니다
ㅜㅜ제가 무엇을 잘못한걸까요 ㅠㅠ
관리자님의 댓글의 댓글
관리자 작성일관리자 페이지는 adm/member_form_update.php 파일에서 쿼리를 수정해야 합니다.
관리자님의 댓글
관리자 작성일
다시 보니 여기를 이렇게 하시면 안 됩니다.
$mb_10 = "$mb10[0]:$mb10[1]~$mb10[2]:$mb10[3]";
배열을 쪼갤 때 구분 기호를 이렇게 '-' 로 해놨는데 저렇게 바꿔서 저장을 해버리면 수정 모드에서는 인식을 당연히 할 수가 없죠
$mb10 = explode("-",$member['mb_10']); // 시간
그누사랑님의 댓글의 댓글
그누사랑 작성일
$mb10 = explode("-",$member['mb_10']); // 시간
여기에서 구분기호'-'를 여러개로 변경할순 없는거에요?ㅜㅜ
죄송합니다 너무 초보라 ㅠ
관리자님의 댓글의 댓글
관리자 작성일
그렇게 사용하는 건 힘듭니다. 저장된 값을 불러와서 원래 배열에 맞게 다시 처리해야 하는데 번거롭죠
관리자 페이지 때문에 그렇게 변경해서 저장하는 거라면 그럴 필요 없이 회원정보 수정처럼 똑같이 해 놓으면 됩니다.
http://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=3