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'). bootstrap Table('refresh'); //刷新bootstrap table
$('#editModal').modal('hide'); //隐藏modal
}
else {
alert ('Edit Error');
}
}
})
后端PHP
<?php
require("../connections/mysql_li_db.php"); //引用连接池
header("content-type:application/json;charset=UTF-8"); //重要
$ sql s = 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后端页面,这篇只是简单的带参数的请求,如果是批量的请求,稍后的文章会介绍,如果大家有更高效率的方法,也可以指导一下。。谢谢