使用 PHP 的 echo 輸出 XML 專題GG啦!!

edited 五月 6 in PHP新手區
我們使用google提供的"用 PHP 的 echo 輸出 XML"功能將座標和PM2.5值導入 google map 內顯示出來
google範例程式網址
https://developers.google.com/maps/documentation/javascript/mysql-to-maps?hl=zh-tw

現在需要再將.php檔內存取下來的資料進行運算
但是如果在官方提供的範例程式內加入其他運算式
結果就會顯示"Extra content at the end of the document"
以下是我們的程式
<?php


$username="gpspm2.5";
$password="gpspm2.5";
$database="gpspm25";
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','&lt;',$htmlStr);
$xmlStr=str_replace('>','&gt;',$xmlStr);
$xmlStr=str_replace('"','&quot;',$xmlStr);
$xmlStr=str_replace("'",'&#39;',$xmlStr);
$xmlStr=str_replace("&",'&amp;',$xmlStr);
return $xmlStr;
}

// Opens a connection to a MySQL server
$connection=mysql_connect ('localhost', $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}

// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table
$query = "SELECT * FROM data2 WHERE 1  ";
$result = mysql_query($query);
if (!$result) {
  die('Invalid query: ' . mysql_error());
}

header("Content-type: text/xml");

// Start XML file, echo parent node
echo '<markers>';

// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  // Add to XML document node
  echo '<marker ';
  //echo 'lat="' . $row['lat'] . '" ';
 // echo 'lng="' . $row['lng'] . '" ';
  echo 'id="' . parseToXML($row['id']) . '" ';
  echo 'lat="' . parseToXML($row['lat']) . '" ';
  echo 'lng="' . parseToXML($row['lng']) . '" ';
  echo 'PM="' . parseToXML($row['PM']) . '" ';
  echo '/>';
}

// End XML file
echo '</markers>';

// Opens a connection to a MySQL server
$connection=mysql_connect ('localhost', $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}
     
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table
$query = "SELECT * FROM data2 WHERE 1  ";
$result = mysql_query($query);
if (!$result) {
  die('Invalid query: ' . mysql_error());
}

//header("Content-type: text/xml");




    while($row = mysql_fetch_array($result))
    {   
    
        
      if($row['lat']>$latmax)
        {
        $latmax=$row['lat'];
        }
      
      if($row['lat']<$latmin)
        {
        $latmin=$row['lat'];
        }
        
      if($row['lng']>$lngmax)
        {
        $lngmax=$row['lng'];
        }
      
      if($row['lng']<$lngmin)
        {
        $lngmin=$row['lng'];
        }
     }
     echo "lat max=". $latmax. "</br>"; 
     echo "lat min=". $latmin. "</br>";
     echo "lng max=". $lngmax. "</br>"; 
     echo "lng min=". $lngmin. "</br>";
     $latd=($latmax-$latmin)/4;
     $lngd=($lngmax-$lngmin)/4;
     echo "latd=".$latd."</br>";
     echo "lngd=".$lngd."</br>";
     $lat1=$latmin+$latd;
     $lat2=$latmin+$latd+$latd;
     $lat3=$latmin+$latd+$latd+$latd;
     $lng1=$lngmin+$lngd;
     $lng2=$lngmin+$lngd+$lngd;
     $lng3=$lngmin+$lngd+$lngd+$lngd;
     echo  "lat1=".$lat1."</br>";
     echo  "lat2=".$lat2."</br>";
     echo  "lat3=".$lat3."</br>";
     echo  "lng1=".$lng1."</br>";
     echo  "lng2=".$lng2."</br>";
     echo  "lng3=".$lng3."</br>";

?>
Sign In or Register to comment.