PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

การดึงข้อมูล จากฐานข้อมูล สร้าง xml ไฟล์ ด้วย php

14 September 2010 By


ตัวอย่างต่อไปนี้ เป็นแนวทางเบื้องต้น ในการดึงข้อมูลจากฐานข้อมูล เพื่อสร้างเป็น xml ไฟล์ไว้ใช้งาน โดยสามารถปรับเปลี่ยน โครงสร้างของ xml  ได้ ตามต้องการ
ในตัวอย่างโค้ด จะเป็นการดึงข้อมูลชื่อจังหวัด พิกัด latitude และ longitude ของแต่ละจังหวัด ในประเทศไทย มาสร้างเป็น xml ของตัว marker ใน google ซึ่งจะได้นำไปใช้ ในการสร้างหมุด หรือตัว marker ระบุตำแหน่ง ใน google map ต่อไป

ตัวอย่าง xml ไฟล์ที่ได้ บางส่วน
http://www.ninenik.com/demo/google_map/simple_3.xml

ตัวอย่างโค้ด

<?php
header("Content-type:text/xml; charset=UTF-8");              
header("Cache-Control: no-store, no-cache, must-revalidate");             
header("Cache-Control: post-check=0, pre-check=0", false);   
mysql_connect("localhost","root","test") or die("Cannot connect the Server");
mysql_select_db("test") or die("Cannot select database");
mysql_query("set character set utf8");
echo '<?xml version="1.0" encoding="utf-8"?>';
?>
<markers>
<?php
$q="SELECT * FROM province_latlng WHERE 1 ORDER BY province_id LIMIT 30 ";
$qr=mysql_query($q);
while($rs=mysql_fetch_array($qr)){
?>
	<marker id="<?=$rs['province_id']?>">
        <name><?=$rs['province_name']?></name>
        <latitude><?=$rs['province_lat']?></latitude>
        <longitude><?=$rs['province_lon']?></longitude>
    </marker>
<?php } ?>
</markers>

 หรือสามารถใช้เทคนิคของ คุณสมบัติ คำสั่ง mysql สร้าง xml ไฟล์ก็ได้ 

ตัวอย่างโค้ด
 

<?php
header("Content-type:text/xml; charset=UTF-8");              
header("Cache-Control: no-store, no-cache, must-revalidate");             
header("Cache-Control: post-check=0, pre-check=0", false);   
mysql_connect("localhost","root","test") or die("Cannot connect the Server");
mysql_select_db("thailocation") or die("Cannot select database");
mysql_query("set character set utf8");
mysql_query("SET SESSION group_concat_max_len = 8192;");
$q="SELECT CONCAT('<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n'
   ,'<markers>n',
   GROUP_CONCAT(
      '\t<marker id=\"',province_id, '\">\n'
        ,'\t\t<id>', `province_id`, '</id>\n'
        ,'\t\t<name>' ,`province_name` ,'</name>\n'
      ,'\t</marker>\n' SEPARATOR  '')
   ,'</markers>') AS xmlDoc
FROM province  WHERE  1 ";
echo mysql_result(mysql_query($q),0,0);
?>

 


Tags:: ฐานข้อมูล ดึงข้อมูล php xml





URL สำหรับอ้างอิง