2017-06-20 77 views
0

iam試圖通過php從數據庫中創建XML數據多邊形mysql,我的xml結果只有一個數據多邊形,即使mysql數據庫有很多數據多邊形。請幫我解決這個問題。通過從數據庫中創建xml數據多邊形mysql

this is my results xml : 
<bangunan><titik bujur="108.1052017828" lintang="-6.8589564633"/><titik bujur=" 108.1052345542" lintang="-6.8588736944"/><titik bujur=" 108.1052901005" lintang="-6.8588919206"/><titik bujur=" 108.1053264106" lintang="-6.8587653305"/><titik bujur=" 108.1052012876" lintang="-6.8587287935"/><titik bujur=" 108.1051327105" lintang="-6.8589320607"/><titik bujur=" 108.1051327105" lintang="-6.8589320607"/><titik bujur=" 108.1052017828" lintang="-6.8589564633"/><titik bujur=" 108.1052017828" lintang="-6.8589564633"/></bangunan>  

and that is my database table

,這是我的代碼:

<?php 
include "koneksibangunan.php"; 
$x=mysql_query("select * from bangunan"); 
$y=mysql_fetch_array($x); 
$id=$y['ID']; 
$nama=$y['Nama']; 
$batas=$y['Koordinat']; 
$urai=explode(',0',$batas); 
$max=count($urai)-1; 

//konversi ke array 2 D, menghasilkan $koor[i][j] 
for($i=0;$i<$max;$i++) 
{ 
    for($j=0;$j<2;$j++) 
    { 
     $koor[$i]=explode(',',$urai[$i]); 
}} 
//konversi ke format XML 
header("Content-type: text/xml"); 
echo '<bangunan>'; 
for($i=0;$i<$max;$i++) 
{ 
echo '<titik '; 
    for($j=0;$j<2;$j++) 
    { 
     if($j==1) 
      echo 'lintang="' .$koor[$i][$j]. '" '; 
     else 
     echo 'bujur="' . $koor[$i][$j] . '" '; 
    } 
    echo '/>'; 
    } 
echo '</bangunan>'; 
+2

你能告訴你的代碼到目前爲止(也請包括數據作爲文本而不是圖像) –

+0

< titik bujur =「108.1051327105」lintang =「 - 6.8589320607」/> nafis

+0

那是我的xml結果 – nafis

回答

0

代碼需要遍歷每一行,所以當你做一個選擇,閱讀每一行和處理內容.. 。

<?php 
include "koneksibangunan.php"; 
$x=mysql_query("select * from bangunan"); 
header("Content-type: text/xml"); 
echo '<data>'; 
while($y=mysql_fetch_array($x)) { 
    $id=$y['ID']; 
    $nama=$y['Nama']; 
    $batas=$y['Koordinat']; 
    $urai=explode(',0',$batas); 
    $max=count($urai)-1; 

    //konversi ke array 2 D, menghasilkan $koor[i][j] 
    for($i=0;$i<$max;$i++) { 
     for($j=0;$j<2;$j++) { 
      $koor[$i]=explode(',',$urai[$i]); 
     } 
    } 
    //konversi ke format XML 
    echo '<bangunan>'; 
    for($i=0;$i<$max;$i++) { 
     echo '<titik '; 
     for($j=0;$j<2;$j++) { 
      if($j==1) 
       echo 'lintang="' .$koor[$i][$j]. '" '; 
      else 
       echo 'bujur="' . $koor[$i][$j] . '" '; 
     } 
     echo '/>'; 
    } 
    echo '</bangunan>'; 
} 
echo '</data>'; 

這是很難測試,但我希望你看到,輸出必須在一個過度所有元素( - 根據需要更改)。這可能是一切都在,如果是這樣的話,把它移到我已經包括了這個位的地方。

+0

其作品!非常感謝先生!! – nafis

+0

@nafis很好,在這裏!你能標記爲正確的答案,因爲它可以更容易地查看哪些問題尚未解決。謝謝 –