【问题标题】:create xml data polygon via php from database mysql通过 php 从数据库 mysql 创建 xml 数据多边形
【发布时间】:2017-06-20 14:04:18
【问题描述】:

我试图通过 php 从数据库 mysql 创建 XML 数据多边形,我的 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>';

【问题讨论】:

  • 你能显示你的代码吗(也请包括数据作为文本而不是图像)
  • 这是我的 xml 结果
  • 你的代码是?
  • 我已经编辑了我上面的问题

标签: javascript php jquery xml


【解决方案1】:

代码需要遍历每一行,所以当你进行选择时,读取每一行并处理内容...

<?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>';

很难测试,但我希望您看到输出必须在一个整体元素下( - 根据需要更改)。可能所有内容都在 下,如果是这样,请将其移至我包含该位的位置。

【讨论】:

  • @nafis 很好!您能否将其标记为正确答案,因为这样可以更轻松地查看哪些问题尚未解决。谢谢
猜你喜欢
相关资源
最近更新 更多
热门标签