php 정의되지 않은 변수..
구글맵에 마커찍는 거 하고 있는데 mainpage.php에서 $data['idx'], $data['lng'], $data['lat'] 가 정의되지 않은변수라고 오류가 나오네요... lib.php파일에 db연동하는 코드 넣었구 mysql에도 lat필드랑 lng필드에 값 다 넣었는데 왜 오류가 나는걸까요..? 정말 모르겠습니다.. 혹시 몰라 lib.php 파일도 올리겠습니다.
lib.php(DB연동 부분)
</p>
<p><?</p>
<p> </p>
<p> error_reporting(1);</p>
<p> ini_set("display_errors", 1);</p>
<p>
</p>
<p> $connect = mysqli_connect("localhost", "root", "1234", "carsharing") or die("MySQL 접속 실패!! ");</p>
<p> </p>
<p> if(mysqli_connect_error()){</p>
<p> echo "mysql 접속중 오류가 발생했습니다. ";</p>
<p> echo mysqli_connect_error();</p>
<p> }</p>
<p>
mainpage.php
<?</p>
<p> include "lib.php";</p>
<p>?></p>
<p> </p>
<p><!DOCTYPE html></p>
<p><html></p>
<p> <head></p>
<p> <title>Simple Map</title></p>
<p> <script src="<a href="https://polyfill.io/v3/polyfill.min.js?features=default"></script>" target="_blank" rel="noopener noreferrer">https://polyfill.io/v3/polyfill.min.js?features=default"></script></a></p>
<p> <style type="text/css"></p>
<p> /* Always set the map height explicitly to define the size of the div</p>
<p> * element that contains the map. */</p>
<p> #map {</p>
<p> height: 100%;</p>
<p> }</p>
<p> </p>
<p> /* Optional: Makes the sample page fill the window. */</p>
<p> html,</p>
<p> body {</p>
<p> height: 100%;</p>
<p> margin: 0;</p>
<p> padding: 0;</p>
<p> }</p>
<p> </style></p>
<p> <script></p>
<p> let map;</p>
<p> </p>
<p> function initMap() {</p>
<p> map = new google.maps.Map(document.getElementById("map"), {</p>
<p> center: { lat: 37.67606384745595, lng: 126.74730456163915 },</p>
<p> zoom: 15,</p>
<p> });</p>
<p> </p>
<p> const myLatLng = { lat: 37.67606384745595, lng: 126.74730456163915 };</p>
<p> </p>
<p> new google.maps.Marker({</p>
<p> position: myLatLng,</p>
<p> map,</p>
<p> title: "Hello World!",</p>
<p> </p>
<p> });</p>
<p> </p>
<p> <?</p>
<p> $query = "select * from map ";</p>
<p> $result = mysqli_query($connect, $query);</p>
<p> </p>
<p> while($data = mysqli_fetch_array($result)){</p>
<p> ?></p>
<p> const myLatLng<?=$data['idx']?> = { lat: <?=$data['lat']?>, lng: <?=$data['lng']?> }; //오류</p>
<p> </p>
<p> new google.maps.Marker({</p>
<p> position: myLatLng<?=$data['idx']?>, //오류 Undefined variable: data in <b>C:\xampp\htdocs\mainpage.php</b> on line <b>49</b>
</p>
<p> map,</p>
<p> title: "<=$data['title']?>",</p>
<p> });</p>
<p><? } ?></p>
<p> }</p>
<p> </script></p>
<p> </head></p>
<p> <body></p>
<p> <div id="map"></div></p>
<p> </p>
<p> <!-- Async script executes immediately and must be after any DOM elements used in callback. --></p>
<p> <script</p>
<p> src="<a href="https://maps.googleapis.com/maps/api/js?key=AIzaSyADE6zw1xt9mEbQYvRuJS7_rGDX5Su0Et0&callback=initMap&libraries=&v=weekly"" target="_blank" rel="noopener noreferrer">https://maps.googleapis.com/maps/api/js?key=AIzaSyADE6zw1xt9mEbQYvRuJS7_rGDX5Su0Et0&callback=initMap&libraries=&v=weekly"</a></p>
<p> async</p>
<p> ></script></p>
<p> </body></p>
<p></html>
답변 6개
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
데이터베이스 연동이 안되는거 같네요. 연동되는지 확인부터 필요합니다.
while($data = mysqli_fetch_array($result)) 도달하기 전에
먼저 print_r($result) 로 먼저 확인한번 해보세요
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
while($data = mysqli_fetch_array($result)){
?>
이 부분에서
while($data = mysqli_fetch_array($result)){
print_r($data);
?>
를 해보세요
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
const myLatLng<?=$data['idx']?> = { lat: <?=$data['lat']?>, lng: <?=$data['lng']?> }; //오류
브라우저 소스보기"에서 위 부분이 어떻게 나타나나요?
답변에 대한 댓글 1개
= { lat: <br />
<b>Notice</b>: Undefined variable: data in <b>C:\xampp\htdocs\mainpage.php</b> on line <b>49</b><br />
, lng: <br />
<b>Notice</b>: Undefined variable: data in <b>C:\xampp\htdocs\mainpage.php</b> on line <b>49</b><br />
};
이렇게 나옵니다 ㅠㅠ 변수 세개를 다 인식을 못하는것같아요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인