ตัวอย่างต่อไปนี้เป็นสร้างไฟล์ json จากฐานข้อมูลด้วย php โดยคร้างสร้างฐานข้อมูลตัวอย่างเป็นฐานข้อมูลจังหวัด
ในประเทศไทย ชื่อ province_th ประกอบด้วย ฟิลด์ province_id และ province_name
แก้ไข 27-02-2017 รองรับ mysqli
โค้ดไฟล์ dbconnect.php
1 2 3 4 5 6 7 8 9 10 11 | <?php $mysqli = new mysqli( "localhost" , "root" , "" , "test" ); /* check connection */ if ( $mysqli ->connect_errno) { printf( "Connect failed: %s\n" , $mysqli ->connect_error); exit (); } if (! $mysqli ->set_charset( "utf8" )) { printf( "Error loading character set utf8: %s\n" , $mysqli ->error); exit (); } |
โค้ดไฟล์ gen_json.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php header( "Content-type:application/json; charset=UTF-8" ); header( "Cache-Control: no-store, no-cache, must-revalidate" ); header( "Cache-Control: post-check=0, pre-check=0" , false); require_once ( "inc/dbconnect.php" ); $sql = " SELECT * FROM province_th WHERE 1 ORDER BY province_id "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows > 0){ while ( $row = $result ->fetch_assoc()){ $json_data [] = array ( "province_id" => $row [ 'province_id' ], "province_name" => $row [ 'province_name' ] ); } } // แปลง array เป็นรูปแบบ json string if (isset( $json_data )){ $json = json_encode( $json_data ); if (isset( $_GET [ 'callback' ]) && $_GET [ 'callback' ]!= "" ){ echo $_GET [ 'callback' ]. "(" . $json . ");" ; } else { echo $json ; } } ?> |
การใช้งานด้วย jQuery getJSON() ฟังก์ชัน
อ่านวิธีการใช้งานของฟังก์ชั getJSON() ได้ด้วยตัวเองที่
http://api.jquery.com/jQuery.getJSON/
โค้ดไฟล์ use_jsondata.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <!doctype html> <html> <head> <meta charset= "utf-8" > <title>Document</title> </head> <body> <p id= "showData" ></p> <script type= "text/javascript" > $( function (){ $.getJSON( "gen_json.php" , function (data){ if (data!=null && data.length>0){ // ถ้ามีข้อมูล // เราสามารถเลือกข้อมูลบ้างส่วนมาแสดงได้ $( "#showData" ).html(data[0].province_name); // เราสามารถวนลูปแสดงข้อมูล json ได้ ด้วย $.each() ฟังก์ขัน $.each(data, function (i,k){ $( "#showData" ).append(data[i].province_name+ "<br>" ); }); } }); }); </script> </body> </html> |