从动态图看出来,点击赞的按钮的时候,旁边的赞数量在无刷新地增加。打开数据库也能看到赞数量更新了。
原理就是通过ajax异步提交数据给数据库。
首先前端页面就是一个按钮和赞数量。
数据库名,test,表名zan,字段zan
ajaxindex.PHP
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title>异步提交</title>
<script src="jquery-2.1.1.min.js"></script>
<script src="ajaxindex.js"></script>
</head>
<body>
<button id="btn">赞</button>
<span id="result">
<?PHP
$con = MysqL_connect("localhost","root","root");
if (!$con)
{
die('连接数据库失败,失败原因:' . MysqL_error());
}
//设置数据库字符集
MysqL_query("SET NAMES UTF8");
//查询数据库
MysqL_select_db("test",$con);
$result = MysqL_query("SELECT * FROM zan");
while($row = MysqL_fetch_array($result))
{
echo $row['zan'];
}
//关闭连接
MysqL_close($con);
?>
</span>
</body>
</html>
ajaxindex.js
$(document).ready(function(){
$("#btn").on("click",function(){
$.get("sever.PHP",{name:$("#btn").val()},function(data){
$("#result").text(data);
});
});
});
sever.PHP
<?PHP
header("Content-type:text/html;charset=utf-8");
//连接数据库
$con = MysqL_connect("localhost","root");
if (!$con)
{
die('连接数据库失败,失败原因:' . MysqL_error());
}
//设置数据库字符集
MysqL_query("SET NAMES UTF8");
//查询数据库
MysqL_select_db("test",$con);
//更新
MysqL_query("UPDATE zan SET zan = zan+1");
$result = MysqL_query("SELECT * FROM zan");
if(isset($_GET['name'])){
while($row = MysqL_fetch_array($result))
{
echo $row['zan'];
}
}else{
echo "赞失败!";
}
//关闭连接
MysqL_close($con);
?>
总体思路:
通过ajaxindex.PHP点击按钮,js反应,ajax异步提交给sever.PHP再通过js返回给页面,就不用刷新了。
sever.PHP就是一个查询和更新数据的,更新之后再把数据输出给页面。
整个demo下载