Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > ajax

Ajax与mysql数据交互制作留言板功能(全)

来源:中文源码网    浏览:123 次    日期:2024-05-14 09:37:59
【下载文档:  Ajax与mysql数据交互制作留言板功能(全).txt 】


Ajax与mysql数据交互制作留言板功能(全)
最近自己做了一个小demo,实现了Ajax与MySQL的数据交互,js部分用的是jq,后台用的是php,数据库是mysql,过时间再来一个node+mongodb版的。
关于mysql的使用和安装,就不多讲了,自行百度xampp,Apache服务器和mysql数据库集成,非常好用。
首先打开服务器和数据库,我这里先建立了一个“eleven”的数据库,下面建立了一个叫做microblog的表(请注意:我这里使用的是高版本的mysql,里面php链接数据库的方法使用的都是mysqli_ 如果版本过低,请使用mysql_ 方法,自行修改代码)
以下是代码部分:
html页面和js部分:




微博留言板



















这部分是php代码部分:
header("Content-type:text/html;charset=utf8");
date_default_timezone_set("PRC");
//链接数据库
$link = mysqli_connect("localhost", "root", "", "eleven");
//设置数据库编码格式
mysqli_query($link, "set names utf8");
?>
注意:这部分我写成了公共代码,因为我在学习做其他东西时调用了,所以下面的代码会有
include_once "comment.php";
这一行是引用其他代码
/*
* 开发文档
* 1.用于提交的留言留言进行存储
* url:http://localhost/phpStudy/ajax03/message.php
* 提交方式:get
* 提交参数说明:
* content 必须 留言板内容
* act 必须 借口标识
* 返回参数说明
* 成功:{"error":"0","id":1,"time":"2016-11-30"}
* 失败:{"error":1,"msg":"留言失败,请重试"}
*
* 2.up
* id 必须 留言的id编号
* act 必须 接口标识 up
* 返回声明
* 成功:{"error":"0"}
* 失败:{"error":"1","msg":"点赞失败"}
*
* 3.分页(获取页码的接口);
* act 必须 接口标识 count
* 返回参数说明:
* 成功:{"error":"0","countPage":"3"};
* 失败:{"error":"1","msg":"请求数据失败,请重试!"}
*
* 4.分页(点击页码跳转)
* url:http://localhost/phpStudy/ajax03/message.php
* 提交方式:get
* 提交参数说明:
* starPage 必须参数 页码索引值
* act 必须 接口标识 page
* 返回参数说明
* 成功:{"error":"0","data":[{},{},{},{},{}]}
* 失败:{"error":"1","msg":"数据查询失败,请重试!"}
*
*/
include_once "comment.php";
$act = $_GET["act"];//接口请求标识
switch ($act) {
case 'add'://提交留言
$content = $_GET["content"];
$time = time();
$times = date("Y-m-d H:i:s",$time);
$query = "INSERT INTO microblog(id,content,time) VALUES(null,'{$content}','{$times}')";
mysqli_query($link,$query);
$insertId = mysqli_insert_id($link);
if($insertId>0){
$arr = ["error"=>0,"id"=>$insertId,"time"=>$times];
echo json_encode($arr);//将数组转化为json,方便前端使用
}
else{
$arr = ["error"=>1,"msg"=>"留言失败,请重试!"];
echo json_encode($arr);//将数组转化为json,方便前端使用
}
break;
case 'up':
$id = $_GET['id'];
$search = "SELECT up FROM microblog WHERE id = $id";
$result = mysqli_query($link, $search);
$upNum = mysqli_fetch_row($result)[0];
$upNum++;
$query = "UPDATE microblog SET up='{$upNum}' WHERE id = '{$id}'";
mysqli_query($link,$query);
if(mysqli_affected_rows($link)){//更新数据成功
echo '{"error":"0"}';
}
else{//更新失败
echo '{"error":"1","msg":"点赞失败!"}';
}
break;
case 'down':
$id = $_GET['id'];
$search = "SELECT down FROM microblog WHERE id = $id";
$result = mysqli_query($link, $search);
$downNum = mysqli_fetch_row($result)[0];
$downNum++;
$query = "UPDATE microblog SET down='{$downNum}' WHERE id = '{$id}'";
mysqli_query($link,$query);
if(mysqli_affected_rows($link)){//更新数据成功
echo '{"error":"0"}';
}
else{//更新失败
echo '{"error":"1","msg":"踩失败!"}';
}
break;
case 'remove':
$id = $_GET['id'];
$query ="DELETE FROM microblog WHERE id='{$id}'";
mysqli_query($link,$query);
if(mysqli_affected_rows($link)>0){//删除数据成功
echo '{"error":"0"}';
}
else{
echo '{"error":"1","msg":"删除失败!"}';
}
break;
case 'count'://返回总页码
$query = "SELECT count(id) FROM microblog";
$result = mysqli_query($link, $query);
$count = mysqli_fetch_row($result)[0];//以索引数组形式返回查询结果
$countPage = ceil($count/5);
echo '{"error":"0","countPage":"'.$countPage.'"}';
break;
case 'page'://点击分页或者是页面第一次加载
$index = $_GET["num"]*5;
$search = "SELECT * FROM microblog ORDER BY id DESC LIMIT {$index},5";//倒叙查询留言
$result = mysqli_query($link, $search);
$arr = [];//存查询出来的数据
while($row = mysqli_fetch_assoc($result)){
array_unshift($arr,$row);
}
// print_r($arr);
// {"error":"0","info":[{},{},{},{},{}]}
$resultArr = ["error"=>"0","info"=>$arr];
echo json_encode($resultArr);
break;
}
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

相关内容