DB select 문 조언 구합니다.
본문
DB select 문 조언 구합니다.
아래와 같이 map.php 파일을 저장해서 특정 table에 wr_18, wr_19, wr_20 필드의 값을 불러와서 구글 좌표를 입력하게 하려고 하고 있습니다. 아.. 다중 마커 형태입니다. 게시글마다 입력된 좌표를 map.php 에 다중마커가 되는 형태입니다.
table명 = ABC
<!--지도 시작 -->
<!--지도 끝 -->
#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폴더가 아닌 다른 폴더에서 구현하려고 합니다.
$lat=($list[$i][wr_19]);
$lng=($list[$i][wr_20]);
$address=strip_tags($list[$i][wr_18]);
그래서 아래와 같이 DB를 불러오게 해보았는데..
이것저것 해봐도 테이블의 값을 불러오지 못하네요..
혹시 아래 구문이 어떤것이 잘못되었는지 조언 구합니다.
$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
mysql 공부부터 한 후에 뭔가 해보려고 해야지 주먹구구식으로 컴퓨터가 돌아가나요?
아래처럼 하면 등록된 값을 모두 추출합니다
위 코드 위쪽에 넣으세요
<?
$result =sql_query(
"select wr_18, wr_19,wr_20 from g4_write_$bo_table"
);
while($row=sql_fetch_array($result)) $list[]=$row;
?>
답변을 작성하시기 전에 로그인 해주세요.