用於AJAX 請求的PHP後端

PHP連結Mysql池

<?php header(“content-type:application/html;charset=UTF-8”); class Mysqldb{ private $conn; public function __construct($host=‘’,$user=‘’,$pwd=‘’,$database=‘’){ $this->conn=mysqli_connect($host,$user,$pwd,$database); if($this->conn){ $this->conn->set_charset(‘utf8’); } } public function query($sql){ $result=mysqli_query($this->conn,$sql); $arr=array(); while ($row = $result->fetch_assoc()){ array_push($arr,$row); } mysqli_free_result($result); return json_encode($arr); } public function update($sql){ $result=mysqli_query($this->conn,$sql); $arr=array(); if($result){ $arr[‘flag’]=true; $arr[‘msg’]=‘Sucessful’; }else{ $arr[‘flag’]=false; $arr[‘msg’]=‘Failure’; } return json_encode($arr); } public function __destruct(){ mysqli_close($this->conn); $this->conn=null; } }?>

AJAX請求例子:

$。ajax({ type: ‘post’, url: ‘json/inb_json。php’, contentType: “application/x-www-form-urlencoded”, // 如果是post必須定義 dataType: ‘json’, data: {//將傳遞引數放進data action: ‘q_sort_update’, //給後端一個flag說明你要做什麼 sort_code: $(‘#sort_code’)。val() //獲取查詢的一個引數 }, success: function (data) { console。log(data); var flag = String(data。flag); if (flag == “true”) { modal_js。success({ ‘msg’: ‘Update Successful“’, ‘time’: 2000, ‘icon’: 1 }); $(‘#full_task_list’)。bootstrapTable(‘refresh’); //重新整理bootstrap table $(‘#editModal’)。modal(‘hide’); //隱藏modal } else { alert(‘Edit Error’); } } })

後端PHP

<?phprequire(”。。/connections/mysql_li_db。php“); //引用連線池header(”content-type:application/json;charset=UTF-8“); //重要$sqls = new Mysqldb(); //例項化連結if ($_REQUEST[‘action’] == ‘q_sort_query’) {//這裡就是AJAX請求的的定義的action $sort_code = $_REQUEST[‘sort_code’]; //這裡是AJAX傳遞過來的用於查詢的引數 $sql = ”放你的sql語句“; $con = $sqls->query($sql); //這裡用的就是連線池裡的query()封裝的函式,如果是刪除也可以用這個,如果是更新或者插入可以用update(); echo $con;}

這樣可以將所有的後端PHP處理都放到一個php頁面,不用不同的AJAX請求要開一個不同的PHP後端頁面,這篇只是簡單的帶引數的請求,如果是批次的請求,稍後的文章會介紹,如果大家有更高效率的方法,也可以指導一下。。謝謝