DB select 문 조언 구합니다.
아래와 같이 map.php 파일을 저장해서 특정 table에 wr_18, wr_19, wr_20 필드의 값을 불러와서 구글 좌표를 입력하게 하려고 하고 있습니다. 아.. 다중 마커 형태입니다. 게시글마다 입력된 좌표를 map.php 에 다중마커가 되는 형태입니다.
table명 = ABC
Copy
<!--지도 시작 --><!--지도 끝 -->#mgmap { width: 100%; height:700px; margin:0; padding: 0px; border: 0px;}</style><div style="width:100%; text-align:center; font-size:18px;">지역 통계</div><div id="mgmap" style="position:relative;"></div><br /><script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.exp&sensor=false&language=ko"></script> <script type="text/javascript"> var locations = [ <? for ($i=0; $i<count($list); $i++) { $name1=strip_tags($list[$i][subject]); $lat=($list[$i][wr_19]); $lng=($list[$i][wr_20]); $address=strip_tags($list[$i][wr_18]); $mapnum=($list[$i][wr_id]); $mtem="<table><tr><td colspan=2 width=300><a href={$list[$i][href]}><h3>$name1</h3></a></td></tr><tr><td width=70>주소: </td><td width=230>{$address}</td></tr></table>"; ?> ['<?=$mtem?>', '<?=$lat?>', '<?=$lng?>', '<?=$mapnum?>'], <? if ($name1 == false) break ;?> <? } ?> ]; function mgminfomap(){ var map = new google.maps.Map(document.getElementById('mgmap'), { zoom: 9, center: new google.maps.LatLng(37.566535, 126.97796919999996), mapTypeId: google.maps.MapTypeId.ROADMAP }); var infowindow = new google.maps.InfoWindow(); var marker, i; for (i = 0; i < locations.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(locations[i][1], locations[i][2]), map: map }); google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(locations[i][0]); infowindow.open(map, marker); } })(marker, i)); } } google.maps.event.addDomListener(window, 'load', mgminfomap); </script><!--지도 끝 -->
위에 소스는 전체 소스이구요. 아래 소스부분이 필드가 입력되는 부분입니다.
원래는 list.skin.php 파일에 넣으면 지금 형태로도 잘 구현이 되는데요.
저는 skin폴더가 아닌 다른 폴더에서 구현하려고 합니다.
Copy
$lat=($list[$i][wr_19]); $lng=($list[$i][wr_20]); $address=strip_tags($list[$i][wr_18]);
그래서 아래와 같이 DB를 불러오게 해보았는데..
이것저것 해봐도 테이블의 값을 불러오지 못하네요..
혹시 아래 구문이 어떤것이 잘못되었는지 조언 구합니다.
Copy
$lat=sql_fetch("select * from g4_write_$bo_table where wr_19"); $lng=sql_fetch("select * from g4_write_$bo_table where wr_20"); $address=strip_tags(sql_fetch("select * from g4_write_$bo_table where wr_18"););
table 명은 map.php?bo_table=ABC 이렇게 주소에서 지정을 해주고
해당 테이블에 wr_18 ~ wr_20 값을 불러와야 합니다..
지식이 부족하여 잘 안되네요..
조언부탁드립니다.
답변 1개 / 댓글 1개
채택된 답변
+20 포인트
2015-08-26 (수) 22:26:17
mysql 공부부터 한 후에 뭔가 해보려고 해야지 주먹구구식으로 컴퓨터가 돌아가나요?
아래처럼 하면 등록된 값을 모두 추출합니다
위 코드 위쪽에 넣으세요
<?
$result =sql_query("select wr_18, wr_19,wr_20 from g4_write_$bo_table");
while($row=sql_fetch_array($result)) $list[]=$row;
?>
답변에 대한 댓글 1개
2015-08-27 (목) 00:27:58
답변은 감사합니다. 보시기에 어처구니 없는 주먹구구식 코드일 수 있지만 많은 시간 투자해서 그나마 만들어 놓은 코드입니다. 무작정 답을 원한게 아닌 방법을 조언 받고 싶었습니다. 충고라면 고맙게 받겠으나 공개 포럼에서 왜 그런말을 하시는지는 이해가 가지는 않는군요.
답변을 작성하려면 로그인이 필요합니다.