JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,廣泛用于前后端數據傳輸。在Web開發中,通常使用JSON來獲取后端傳回的數據。如何在后端(如PHP)中將數據庫中的數據轉化為JSON格式?下面簡單介紹一下獲取MySQL數據庫數據的方法。
//建立數據庫連接 $mysqli = new mysqli('localhost', 'root', 'password', 'mydatabase'); //設定編碼格式 mysqli_query($mysqli, "SET NAMES 'UTF8'"); //選擇要讀取的數據 $sql = "SELECT id, name, age FROM mytable"; $result = mysqli_query($mysqli, $sql); $data = array(); //將每行數據存入數組 while ($row = mysqli_fetch_array($result)){ $data[] = array( 'id' => $row['id'], 'name' => $row['name'], 'age' => $row['age'] ); } //將數組轉化為JSON格式 $json_data = json_encode($data); //輸出JSON格式的數據 echo $json_data;
上面的代碼中,首先要建立數據庫連接(第1行),然后設定編碼格式(第2行)。接著,選擇要讀取的數據,在這里我們選擇ID、姓名和年齡(第4-5行)。使用while循環,將每一行數據都存入數組(第7-15行)。最后,使用json_encode()函數將數組轉化為JSON格式(第17行),并輸出(第19行)。
在前端獲取JSON數據時,通常使用JavaScript的XMLHttpRequest對象進行異步請求。以下是一個簡單的DOM操作:
//創建XMLHttpRequest對象 var xhr = new XMLHttpRequest(); //請求地址 var url = "http://www.example.com/get_data.php"; //發送請求 xhr.open("GET", url, true); xhr.send(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ //解析JSON數據 var data = JSON.parse(xhr.responseText); //DOM操作 for(var i=0; i<data.length; i++){ var tr = document.createElement("tr"); var td1 = document.createElement("td"); td1.innerHTML = data[i].id; var td2 = document.createElement("td"); td2.innerHTML = data[i].name; var td3 = document.createElement("td"); td3.innerHTML = data[i].age; tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); document.getElementById("dataTable").appendChild(tr); } } }
在這個例子中,我們使用XMLHttpRequest對象(第1行)發送異步請求,請求PHP腳本(第4行)。一旦返回成功,我們解析JSON格式的數據(第10行),并對DOM進行操作,將數據添加到HTML表格中(第12-23行)。