คอมพิวเตอร์และอินเตอร์เน็ต,บรรยายวิชาการ,วิจัย,ศึกษากุรอาน,E-Book

วันศุกร์ที่ 5 มีนาคม พ.ศ. 2564

หลักการสื่อสารข้อมูลระหว่างเว็ปหรือURL ด้วย JSON


หลักการสื่อสารข้อมูลระหว่างเว็ปหรือURL ด้วย JSON

1.สร้าง Api เพื่อรับค่า query string แล้วแสดงผลข้อมูลเป็น JSON 

[สำหรับรอการร้องขอข้อมูลด้วย query string]

ไฟล์ชื่อ api.php ดังนี้

<?php

$conn = mysql_connect("localhost", "root", "");

mysql_select_db("q_alert_db");

mysql_query("set NAMES  utf8");

$my_pid = @$_GET['p'];

$response = array();

$sql = "SELECT fullname,age,sex,nationality,tel_in_thai,addr_in_th_place,addr_in_th_province 

            FROM YourTable WHERE pid='".$my_pid."' 

           ORDER BY dec_date DESC, dec_time DESC LIMIT 1";

$result = mysql_query($sql);

if($result){    

        header("Content-Type: JSON");

        $i=0;

        while ($row = mysql_fetch_assoc($result)) {

            $response[$i]['name'] = $row['fullname'];

            $response[$i]['age'] = $row['age'];

            $response[$i]['sex'] = $row['sex'];

            $response[$i]['nationality'] = $row['nationality'];

            $response[$i]['tel'] = $row['tel_in_thai'];

            $response[$i]['addr'] = $row['addr_in_th_place'].' จ.'.trim($row['addr_in_th_province']);

            $i++;

        }

        echo json_encode($response,JSON_UNESCAPED_UNICODE);

    }else{

        echo "No Data..";

}

mysql_free_result($result);

?>  


2.สร้างไฟล์เรียกใช้ข้อมูล JSON จาก api ด้วย JQuery [สำหรับการรับข้อมูลจาก Api ไปใช้ประโยชน์]

ไฟล์ชื่อ lab_from_api_js.php ดังนี้ 

<!DOCTYPE html>

<html lang="en">

<head>

<title>JavaScript - read JSON from URL</title> 

    <!-- <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> -->

    <script src="assets/js/jquery-3.2.1.min.js"></script>

</head>

<body>

<?

$my_p = @$_GET[p];

$my_pid = trim($my_p);

$my_link = "https://borderapi.songkhla.care/borderAPI?p=".$my_pid."&key=b9343bdbf698cbc25b1528b0512e6210";

?>

        <script>

               $.getJSON('<?=$my_link;?>', function(data) {

                $.post("lab_put_indb.php", { 

                        data1: data[0].identification_number,    

                        data2: data[0].name, 

                        data3: data[0].surname, 

                        data4: data[0].nationality, 

                        data5: data[0].gender,

                        data6: data[0].age, 

                        data7: data[0].addr, 

                        data8: data[0].tel, 

                        data9: data[0].border, 

                        data10: data[0].date_entry, 

                        data11: data[0].date_reported, 

                        data12: data[0].result}, 

                            function(result){

                                $("#div1").html(result);

                            }

                        );

 </script>


<div id="div1">..ไม่มีผลตรวจ..</div>

</body>

</html>


ไฟล์ชื่อ lab_put_indb.php ดังนี้ 

<?php

$my_pid = @$_POST["data1"];

$my_name = @$_POST["data2"];

$my_surname = @$_POST["data3"];

$my_nationality = @$_POST["data4"];

$my_sex = @$_POST["data5"];

$my_age = @$_POST["data6"];

$my_addr = @$_POST["data7"];

$my_tel = @$_POST["data8"];

$my_poe = @$_POST["data9"];

$my_date_entry = @$_POST["data10"];

$my_date_reported = @$_POST["data11"];

$my_result = @$_POST["data12"];


echo "<table><tr><td>";


//Display result on the previous page 

echo "เลขบัตร ปชช. : ".$my_pid."</br>";

echo "ชื่อ : ".$my_name."</br>";

echo "สกุล : ".$my_surname."</br>";

echo "สัญชาติ : ".$my_nationality."</br>";

echo "เพศ : ".$my_sex."</br>";

echo "อายุ : ".$my_age."</br>";

echo "ที่อยู่ : ".$my_addr."</br>";

echo "โทร : ".$my_tel."</br>";

echo "ด่านฯ : ".$my_poe."</br>";

echo "วันที่ตรวจ : ".datetothai($my_date_entry)."</br>";

echo "วันที่รายงาน : ".datetothai($my_date_reported)."</br>";

if($my_result=='Not detected'){

    $my_result_txt='ไม่พบเชื้อ';

}

echo "ผลตรวจ : ".$my_result_txt."</br>";

?>


หมายเหตุ : ต้องใช้ extension ชื่อ  Moesif CORS ร่วมด้วยเสมอ

เมื่อติดตั้ง extension แล้ว จะทำให้ Youtube เปิดไม่ได้นะครับ

หากค้องการดู youtube ต้องปิด extension นี้ก่อน น่ะ