ตัวอย่างต่อไปนี้ เป็นแนวทางเบื้องต้น ในการดึงข้อมูลจากฐานข้อมูล เพื่อสร้างเป็น xml ไฟล์ไว้ใช้งาน โดยสามารถปรับเปลี่ยน โครงสร้างของ xml ได้ ตามต้องการ
ในตัวอย่างโค้ด จะเป็นการดึงข้อมูลชื่อจังหวัด พิกัด latitude และ longitude ของแต่ละจังหวัด ในประเทศไทย มาสร้างเป็น xml ของตัว marker ใน google ซึ่งจะได้นำไปใช้ ในการสร้างหมุด หรือตัว marker ระบุตำแหน่ง ใน google map ต่อไป
ตัวอย่าง xml ไฟล์ที่ได้ บางส่วน
https://www.ninenik.com/demo/google_map/simple_3.xml
ตัวอย่างโค้ด
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?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 ไฟล์ก็ได้
ตัวอย่างโค้ด
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?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); ?> |