การเขียน api เพื่อดึงข้อมูลจากฐานข้อมูลมาแสดงผลในรูปแบบของ json อันดับแรกต้องเตรียมฐานข้อมูลก่อน
การเตรียมข้อมูล
1.สร้างฐานข้อมูลขึ้นมาชื่อ hc_smart_school
2.ภายในฐานข้อมูลให้สร้างตารางขึ้นมา 1 ตาราง ตั้งชื่อตารางว่า student ประกอบด้วยฟิลด์ต่างๆ ดังนี้
3.ทดลองใส่ข้อมูล โดยไปที่ insert
4.จะได้หน้าจอสำหรับกรอกข้อมูลดังรูป
5.กรอกข้อมูลต่างๆ จากนั้นกดปุ่ม “Go”
6.จะได้หน้าจอดังนี้
7.ไปที่เมนู Browseเพื่อดูข้อมูล จะได้ข้อมูลดังรูป
การเขียนโปรแกรม
ก่อนที่จะเขียนโปรแกรมเพื่อแสดงผลข้อมูลในรูปแบบของ json ให้เตรียมโครงสร้างของโค้ดดังนี้
1. ภายใต้โฟลเดอร์ของตัวจำลอง server ให้สร้างโฟลเดอร์ไว้ดังนี้
- โฟเดอร์ชื่อ config ไว้สำหรับเก็บไฟล์ config เพื่อตั้งค่าการเชื่อมต่อกับฐานข้อมูล และประมวลผลคำสั่ง sql
- โฟลเดอร์ process ไว้สำหรับเก็บไฟล์ ที่แสดงผลข้อมูลออกมาในรูปแบบของ json
เมื่อเตรียมโครงสร้างของโปรเจ็กเรียบร้อยแล้ว ก็มาลงมือเขียนโปรแกรมกันเลย
1. สร้างไฟล์ config สำหรับเก็บค่าการเชื่อมต่อกับฐานข้อมูลสามารถทำได้ดังนี้
1.1 เปิดโปรแกรม notepad++ จากนั้นไปที่เมนู File -> new จะได้ไฟล์ใหม่ขึ้นมา
1.2 พิมพ์โค้ดดังนี้
<?php class DatabaseConnection { private $host = "localhost"; private $db_name = "hc_smart_school"; //ชื่อฐานข้อมูล private $username = "root"; //username ของ database private $password = "root1234"; // รหัสผ่านของ database public $conn; public function getConnection(){ $this->conn = null; try { $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password); $this->conn->exec("set names utf8"); }catch(PDOException $exception){ echo "Connection error: " . $exception->getMessage(); } return $this->conn; } } ?> |
2. สร้างไฟล์สำหรับประมวลผลทำสั่ง sql
2.1 ไปที่เมนู File -> new
2.2 พิมพ์คำสั่งดังต่อไปนี้
<?php class HCExec { private $conn; public function __construct($db){ $this->conn = $db; } public function dataTransection( $query ){ try { $stmt = $this->conn->prepare( $query ); if($stmt->execute()){ return 1; } else { return 0; } } catch (PDOException $e) { return false; } } public function read( $query ){ try { $stmt = $this->conn->prepare( $query ); if($stmt->execute()){ return $stmt; } } catch (PDOException $e) { return false; } } } ?> |
3. สร้างไฟล์สำหรับแสดงผลข้อมูลในรูปแบบ json
3.1 สร้างไฟล์ใหม่ โดยไปที่เมนู File -> new
3.2 พิมพ์โค้ดดังนี้
<?php date_default_timezone_set("Asia/Bangkok"); header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8"); header("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS"); header("Access-Control-Allow-Max-Age: 3600"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); include "../config/DbConnect.php"; include "../config/HCExec.php"; $db = new DatabaseConnection(); $strConn = $db->getConnection(); $strExe = new HCExec($strConn); $sql = " SELECT * FROM student "; $stmt = $strExe->read($sql); $rowCount = $stmt->rowCount(); if ($rowCount > 0) { $data_arr['rs'] = array(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { extract($row); array_push($data_arr["rs"], $row); } echo json_encode($data_arr); } else { echo json_encode(array("message" => "No data found","row"=> $rowCount)); } ?> |
4. ทดสอบรันโปรแกรมจะได้ข้อมูลที่แสดงออกมาในรูปแบบของ Json ดังรูป

-