값? 을 디비에 저장하기 입니다. 좀 봐주세요....네~
본문
아래는 구글지도 입니다. 아래
wr_12(위도값) , wr_13(경도값) 은 저장이 됩니다. 주소 값 = formatedAddress 을 wr_17에 저장해야 하는데 어찌 하는지요
고수님 좀 부탁드립니다.
쌩 초보라 말로만 알려주심 제가 무척 당황한답니다...;;
-----------생략----------
<input type="hidden" name="wr_12" value="<?=$write['wr_12']?>"> <!--지도 x좌표-->
<input type="hidden" name="wr_13" value="<?=$write['wr_13']?>"> <!--지도 y좌표-->
-----------생략---------
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=ko"></script>
<tr><td>지도<br>
<?
if($write[wr_14] != '미사용') {
echo "<input type='radio' id=r1 name='wr_14' value='사용' checked>지도 사용";
echo "<input type='radio' id=r2 name='wr_14' value='미사용'>지도 미사용";
} else {
echo "<input type='radio' id=r1 name='wr_14' value='사용'>지도 사용";
echo "<input type='radio' id=r2 name='wr_14' value='미사용' checked>지도 미사용";
}
if ($write['wr_12']=='') $write['wr_12']='35.207327';
if ($write['wr_13']=='') $write['wr_13']='129.000475';
?>
<script type="text/javascript">
// 구글지도
var map;
var geocoder;
var centerChangedLast;
var reverseGeocodedLast;
var currentReverseGeocodeResponse;
function initialize() {
var latlng = new google.maps.LatLng(<?=$write['wr_12']?>, <?=$write['wr_13']?>);
var myOptions = {
zoom: 16,
scaleControl: true,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
geocoder = new google.maps.Geocoder();
// 리스너 Listener ////////////////////////////////////////////////////
google.maps.event.addListener(map, 'zoom_changed', function() {
document.getElementById("zoom_level").innerHTML = map.getZoom();
zoomLevel = map.getZoom();
if (zoomLevel > 19) {
map.setZoom(19);
}
if (zoomLevel < 1) {
map.setZoom(1);
}
});
setupEvents();
centerChanged();
}
function setupEvents() {
reverseGeocodedLast = new Date();
centerChangedLast = new Date();
setInterval(function() {
if((new Date()).getSeconds() - centerChangedLast.getSeconds() > 1) {
if(reverseGeocodedLast.getTime() < centerChangedLast.getTime())
reverseGeocode();
}
}, 1000);
google.maps.event.addListener(map, 'center_changed', centerChanged);
google.maps.event.addDomListener(document.getElementById('crosshair'),'dblclick', function() {
map.setZoom(map.getZoom() + 1);
});
}
function getCenterLatLngText() {
var nn = 1000000;
var tmpLat = Math.round(map.getCenter().lat()*nn)/nn;
var tmpLng = Math.round(map.getCenter().lng()*nn)/nn;
document.fwrite.wr_12.value = tmpLat;
document.fwrite.wr_13.value = tmpLng;
return tmpLat +', '+ tmpLng;
}
function centerChanged() {
centerChangedLast = new Date();
var latlng = getCenterLatLngText();
document.getElementById('latlng').innerHTML = latlng;
document.getElementById('formatedAddress').innerHTML = formatedAddress;
currentReverseGeocodeResponse = null;
}
function reverseGeocode() {
reverseGeocodedLast = new Date();
geocoder.geocode({latLng:map.getCenter()},reverseGeocodeResult);
}
function reverseGeocodeResult(results, status) {
currentReverseGeocodeResponse = results;
if(status == 'OK') {
if(results.length == 0) {
document.getElementById('formatedAddress').innerHTML = 'None';
} else {
document.getElementById('formatedAddress').innerHTML = results[0].formatted_address;
}
} else {
document.getElementById('formatedAddress').innerHTML = 'Error';
}
}
function geocode() {
var address = document.getElementById("address").value;
geocoder.geocode({
'address': address,
'partialmatch': true}, geocodeResult);
}
function geocodeResult(results, status) {
if (status == 'OK' && results.length > 0) {
map.fitBounds(results[0].geometry.viewport);
} else {
alert("Info: " + status);
}
}
</script>
간단주소: <input type="text" id="address" size="15" onKeyDown="if(event.keyCode==13){geocode();}" /><input type="button" value=" 검색 " onclick="geocode()">
</div>
<div id="map">
<div id="map_canvas" style="width:<?=$map_width?>px; height:<?=$map_height?>px;"></div>
<div id="crosshair"></div>
<br>
위도/경도:<div id="latlng"></div>
주소보기:<div id="formatedAddress"></div>
</td></tr></table>
답변 1
1. 일단데이터베이스를 연다.
2. 해당테이블에 접근한다.
3. 필드를 생성한다.
4. 그누보드를 연다.
5. 해당 스킨파일을 확장한다. ? 으잉? write_update_skin 어쩌구저쩌구 tail(중요~) 파일을 생성한다.
음.. 파일명은 잘 몰라요 ^^ 찾으시기를 ㅎㅎ
6. 업데이트하고 싶은 값을 업데이트한다.
7. 이때중요한 것은 wr_id 값이 제대로 들어오는 지 확인!
8. wr_id 값이 있다면 업데이트.. insert 할필요가 없겠죠 ^^ 왜냐.. 이미 생성했으니깐..
9. 값이 제대로 들어오는지 다시 데이트베이스를 연다.
10. 성공~~
그누보드를 안 다룬지 오래된 터라 더 좋은 방법이 있을지도 모르겠네요
아무튼 성공하세요 ㅎ