그누보드 [G5] 게시판에 우편번호 찾기 적용하기
페이지 정보
본문
게시판 여분필드중 사용하고자 하는 것에 우편번호, 주소를 모두 삽입해서 관리합니다.
wr_1 에 우편번호를 삽입하는 것으로 내용을 정리합니다.
1. 그누보드5 / skin / basic /write.skin.php 상단에 아래 코드 삽입
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 우편번호
$wr_addr = explode("|",$write[wr_1]);
$zip1 = $wr_addr[0];
$zip2 = $wr_addr[1];
$addr1 = $wr_addr[2];
$addr2 = $wr_addr[3];
2-1. 우편번호를 삽입할 위치에 아래 내용 추가
<tr>
<th scope="row">주소</th>
<td>
<input type="text" name="zip1" value="<?php echo $zip1; ?>" id="postcode" title="우편번호" class="frm_input" size="5" maxlength="5" style="width:50px;">
<input type="button" onclick="openDaumPostcode()" value="우편번호 찾기" style="width:100px; height:25px; font-size:11px; background-color:#ECECEC"><br>
<input type="text" name="addr1" value="<?php echo $addr1 ?>" id="addr" placeholder="주소" class="frm_input" style="width:45%">
<input type="text" name="addr2" value="<?php echo $addr2; ?>" id="addr2" placeholder="상세주소" class="frm_input" style="width:45%">
</td>
</tr>
<?php if($_SERVER['HTTPS'] === "on"){ ?><script src="https://ssl.daumcdn.net/dmaps/map_js_init/postcode.v2.js"></script>
<?php } else { ?><script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script><?php } ?>
<script>
function openDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
// 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
// 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
var fullAddr = ''; // 최종 주소 변수
var extraAddr = ''; // 조합형 주소 변수
// 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
fullAddr = data.roadAddress;
} else { // 사용자가 지번 주소를 선택했을 경우(J)
fullAddr = data.jibunAddress;
}
// 사용자가 선택한 주소가 도로명 타입일때 조합한다.
if(data.userSelectedType === 'R'){
//법정동명이 있을 경우 추가한다.
if(data.bname !== ''){
extraAddr += data.bname;
}
// 건물명이 있을 경우 추가한다.
if(data.buildingName !== ''){
extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
}
// 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
document.getElementById('postcode').value = data.zonecode; //5자리 새우편번호 사용
document.getElementById('addr').value = fullAddr;
// 커서를 상세주소 필드로 이동한다.
document.getElementById('addr2').focus();
}
}).open();
}
</script>
2-2. 그누보드5 / js / common.js.php 의 win_zip function 이용하기
<tr>
<th>주소</th>
<td scope="row">
<input type="text" name="zip1" value="<?php echo $zip1.$zip2; ?>" id="postcode2" title="우편번호" class="frm_input readonly" size="5">
<input type="button" onclick="win_zip('폼네임', 'zip1', 'add1', 'add2', 'add3', 'jibeon');" value="우편번호 찾기" style="width:100px; height:25px; font-size:11px; background-color:#ECECEC"><br>
<input type="text" name="addr1" value="<?php echo $addr1 ?>" id="addr1" placeholder="주소" class="frm_input readonly" style="width:60%">
<input type="text" name="addr2" value="<?php echo $addr2; ?>" id="addr2" placeholder="상세주소" class="frm_input" style="width:38%">
<input name="add3" type="hidden" value="">
<input name="jibeon" type="hidden" value="">
</td>
</tr>
3. 그누보드5 / skin / basic / write_update.skin.php 에 아래 코드 추가
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 우편번호 추가
$wr_1 = "$zip1|$zip2|$addr1|$addr2";
$sql1 = " update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ";
sql_query($sql1);
?>
4. 그누보드5 / skin / basic / view.skin.php 에 아래 코드 추가
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// 우편번호
$wr_addr = explode("|",$view[wr_1]);
$zip1 = $wr_addr[0];
$zip2 = $wr_addr[1];
$addr1 = $wr_addr[2];
$addr2 = $wr_addr[3];
5. 그누보드5 / skin / basic / view.skin.php 의 주소를 보이고자 하는 위치에 아래 코드를 추가
<div class="tbl_frm01 tbl_wrap">
<table>
<?php if ($addr1) { // 주소1에 값이 있을때만 보이기 ?>
<tr>
<th scope="row">주소</th>
<td><?php echo "(". $zip1 . $zip2 .") ". $addr1 ." ". $addr2; ?></td>
</tr>
<?php } // 주소1에 값이 있을때만 보이기 ?>
</table>
</div>
wr_1 에 우편번호를 삽입하는 것으로 내용을 정리합니다.
1. 그누보드5 / skin / basic /write.skin.php 상단에 아래 코드 삽입
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 우편번호
$wr_addr = explode("|",$write[wr_1]);
$zip1 = $wr_addr[0];
$addr1 = $wr_addr[2];
$addr2 = $wr_addr[3];
2-1. 우편번호를 삽입할 위치에 아래 내용 추가
<tr>
<th scope="row">주소</th>
<td>
<input type="text" name="zip1" value="<?php echo $zip1; ?>" id="postcode" title="우편번호" class="frm_input" size="5" maxlength="5" style="width:50px;">
<input type="button" onclick="openDaumPostcode()" value="우편번호 찾기" style="width:100px; height:25px; font-size:11px; background-color:#ECECEC"><br>
<input type="text" name="addr1" value="<?php echo $addr1 ?>" id="addr" placeholder="주소" class="frm_input" style="width:45%">
<input type="text" name="addr2" value="<?php echo $addr2; ?>" id="addr2" placeholder="상세주소" class="frm_input" style="width:45%">
</td>
</tr>
<?php if($_SERVER['HTTPS'] === "on"){ ?><script src="https://ssl.daumcdn.net/dmaps/map_js_init/postcode.v2.js"></script>
<?php } else { ?><script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script><?php } ?>
<script>
function openDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
// 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
// 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
var fullAddr = ''; // 최종 주소 변수
var extraAddr = ''; // 조합형 주소 변수
// 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
fullAddr = data.roadAddress;
} else { // 사용자가 지번 주소를 선택했을 경우(J)
fullAddr = data.jibunAddress;
}
// 사용자가 선택한 주소가 도로명 타입일때 조합한다.
if(data.userSelectedType === 'R'){
//법정동명이 있을 경우 추가한다.
if(data.bname !== ''){
extraAddr += data.bname;
}
// 건물명이 있을 경우 추가한다.
if(data.buildingName !== ''){
extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
}
// 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
document.getElementById('postcode').value = data.zonecode; //5자리 새우편번호 사용
document.getElementById('addr').value = fullAddr;
// 커서를 상세주소 필드로 이동한다.
document.getElementById('addr2').focus();
}
}).open();
}
</script>
2-2. 그누보드5 / js / common.js.php 의 win_zip function 이용하기
<tr>
<th>주소</th>
<td scope="row">
<input type="text" name="zip1" value="<?php echo $zip1.$zip2; ?>" id="postcode2" title="우편번호" class="frm_input readonly" size="5">
<input type="button" onclick="win_zip('폼네임', 'zip1', 'add1', 'add2', 'add3', 'jibeon');" value="우편번호 찾기" style="width:100px; height:25px; font-size:11px; background-color:#ECECEC"><br>
<input type="text" name="addr1" value="<?php echo $addr1 ?>" id="addr1" placeholder="주소" class="frm_input readonly" style="width:60%">
<input type="text" name="addr2" value="<?php echo $addr2; ?>" id="addr2" placeholder="상세주소" class="frm_input" style="width:38%">
<input name="add3" type="hidden" value="">
<input name="jibeon" type="hidden" value="">
</td>
</tr>
3. 그누보드5 / skin / basic / write_update.skin.php 에 아래 코드 추가
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 우편번호 추가
$wr_1 = "$zip1|$zip2|$addr1|$addr2";
$sql1 = " update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ";
sql_query($sql1);
?>
4. 그누보드5 / skin / basic / view.skin.php 에 아래 코드 추가
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// 우편번호
$wr_addr = explode("|",$view[wr_1]);
$zip1 = $wr_addr[0];
$addr1 = $wr_addr[2];
$addr2 = $wr_addr[3];
5. 그누보드5 / skin / basic / view.skin.php 의 주소를 보이고자 하는 위치에 아래 코드를 추가
<div class="tbl_frm01 tbl_wrap">
<table>
<?php if ($addr1) { // 주소1에 값이 있을때만 보이기 ?>
<tr>
<th scope="row">주소</th>
<td><?php echo "(". $zip1 . $zip2 .") ". $addr1 ." ". $addr2; ?></td>
</tr>
<?php } // 주소1에 값이 있을때만 보이기 ?>
</table>
</div>
댓글목록
등록된 댓글이 없습니다.