2011-08-10 5 views
0

Google지도에서 위도와 경도를 보여주는 Javascript를 작성하고 있습니다. 그것은 XML 파일에서 입력 데이터를받습니다. MySql 데이터베이스에 위도와 경도 값이 저장되어 있습니다. 이제는 XML 파일의 Name, Lat 및 Lon이라는 3 개의 필드를 채우면됩니다.PHP와 MySql을 사용하여 XML 파일을 작성하는 방법 (스크립트가 실행될 때마다 다시 작성됩니까?)

나는 여기

<?xml version="1.0"?> 

<markers> 
<marker> 
<name>Yaz01</name> 
<lat>52.5914943</lat> 
<lng>-2.1328675</lng> 
</marker> 

<marker> 
<name>Yaz02</name> 
<lat>52.45041265041157</lat> 
<lng>-1.9247746467590332</lng> 
</marker> 

<marker> 
<name>Yaz03</name> 
<lat>52.584720758388734</lat> 
<lng>-2.125253677368164</lng> 
</marker> 

</markers> 

코드입니다 ... 모여 다음과 같은 코드를 작성하지만 오류

Parse error: syntax error, unexpected T_ELSE .... on line 52 

에게 내가이 순서에 있어야합니다 필요 XML 파일을 제공하는 것 같습니다있다 참조 용으로 작성했습니다 ...

<!DOCTYPE html> 
<html> 
<head> 
<title>Google Maps</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="scripts/jquery-1.4.1.min.js"></script> 
<script type="text/javascript" src="scripts/markers.js"> 

</script> 
</head> 
<body> 
<?php 
include 'datalogin.php'; 

$table_name = 'draininfo'; 

$db = mysql_select_db($dbName, $link); 
$query = "select DRAINNAME, LATITUDE, LONGITUDE from " . $table_name; 

$result = mysql_query($query, $connection) or die("Could not complete database query"); 
$num = mysql_num_rows($result); 

if ($num != 0) { 

$file= fopen("results.xml", "w"); 

$_xml =<<<XML 
<?xml version="1.0" encoding="UTF-8" ?>\r\n 
XML; 

$_xml .="<markers>\r\n"; 

while ($row = mysql_fetch_array($result)) { 



$_xml .="\t<marker>\r\n"; 
    $_xml .="\t<name>" . $row["DRAINNAME"] . "<\"name>\r\n"; 
    $_xml .="\t<lat>" . $row["LATITUDE"] . "<\"lat>\r\n"; 
    $_xml .="\t<lon>" . $row["LONGITUDE"] . "<\"lon>\r\n"; 


$_xml .="\t</marker>\r\n"; 


$_xml .="</markers>"; 

fwrite($file, $_xml); 

fclose($file); 

echo "XML has been written. <a href=\"results.xml\">View the XML.</a>"; 

} 
else { 

echo "No Records found"; 

} 

} 
?> 

<div id="map"></div> 
<div ><input type="button" id="showmarkers" value="Show Markers" /></div> 
</body> 
</html> 
+0

오류가있는 한 제공 한 코드는 52가 아닙니다. 줄이 길지도 않고 T_ELSE가 있고 줄 52에서 오류가 발생했다는 것을 말하고 있습니다. * file * (datalogin.php에있을 확률이 높습니다)과 줄 번호를 확인하십시오. 거기에 T_ELSE가 없어야합니다. , 뭔가 올바르게 폐쇄되지 않았습니다. – animuson

+0

[비슷한 질문] (http://stackoverflow.com/questions/486757/how-to-generate-xml-file-dynamically-using-php) –

+0

죄송합니다 !! 이전에 잘못된 코드를 붙여 넣었습니다. Ive가 지금 업데이트했습니다 .. –

답변

0

코드 샘플에 자바 스크립트가 없으므로 어디에서 코드를 찾을 수 있습니까? 이 질문에 해당 언어가 표시됩니다.

PHP 스크립트에는 52 행이 없으므로 코드를 모두 붙여 넣지 않았습니다. if 문

그러나, 그 오류의 일반적인 원인은 너무 많은 else 절을 가지고있다, 또는 당신은 모두 if()을 놓치고 :

if ($somecondition) { 
    blah blah 
} else { 
    blah blah 
} else { <--- unexpected, because you can only have 1 "else" clause. 
    blah blah 
} 
+0

죄송합니다. 이전에 잘못된 코드를 붙여 넣었습니다. Ive가 지금 업데이트했습니다. –

0

PHP는이

$_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n"; 
를 허용하지 않습니다

로 변경하십시오

$_xml =<<<XML 
<?xml version="1.0" encoding="UTF-8" ?>\r\n 
XML; 
관련 문제