ตัวอย่างต่อไปนี้เป็นสร้างไฟล์ json จากฐานข้อมูลด้วย php โดยคร้างสร้างฐานข้อมูลตัวอย่างเป็นฐานข้อมูลจังหวัด
ในประเทศไทย ชื่อ province_th ประกอบด้วย ฟิลด์ province_id และ province_name
แก้ไข 27-02-2017 รองรับ mysqli
โค้ดไฟล์ dbconnect.php
<?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
<?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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<p id="showData"></p>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<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>