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

最近自己做了一个小demo,实现了Ajax与MySQL的数据交互,js部分用的是jq,后台用的是php,数据库是mysql,过时间再来一个node+mongodb版的。

关于mysql的使用和安装,就不多讲了,自行百度xampp,Apache服务器和mysql数据库集成,非常好用。

首先打开服务器和数据库,我这里先建立了一个“eleven”的数据库,下面建立了一个叫做microblog的表(请注意:我这里使用的是高版本的mysql,里面php链接数据库的方法使用的都是mysqli_  如果版本过低,请使用mysql_ 方法,自行修改代码)
以下是代码部分:

html页面和js部分:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>微博留言板</title> <style type="text/css"> *{ margin: 0; padding: 0; } #box{ width: 600px; /*height: 500px;*/ border: 2px solid rgb(85,85,85); border-radius: 15px; margin: 50px auto; padding: 20px 10px 15px; background-color: rgb(85,85,85); } #content{ display: block; resize: none; width: 550px; height: 200px; margin: 0 auto; border: 2px solid rgb(225,225,225); border-radius: 10px; text-align: center; font-size: 30px; background-color: rgb(225,225,225); } #content:focus{ outline: none; border: 2px solid rgb(225,225,225); box-shadow: 0 0 15px rgb(225,225,225); } #btn{ border: 2px solid rgb(255,204,0); width: 80px; height: 40px; border-radius: 5px; margin-top: 30px; font-size: 17px; cursor: pointer; outline: none; background-color: rgb(255,204,0); } .list{ list-style: none; background-color: rgb(249,249,249); margin-top: 20px; } .list>li{ padding: 20px 10px 10px; border-bottom: 2px solid rgb(68,68,68); font-size: 20px; color: rgb(200,214,225); position: relative; word-break: break-word; word-wrap: break-word; background-color: rgb(85,85,85); } .list>li>.control{ position: absolute; bottom: 3px; right: 5px; font-size: 14px; } .list>li>p{ margin-bottom: 25px; } .control span,.control em{ display: inline-block; margin-right: 15px; } .control em{ color: darkblue; cursor: pointer; } a{ text-decoration: none; color: darkred; } #page>a{ display:inline-block; width: 40px; height: 30px; margin-top: 10px; text-align: center; line-height: 30px; font-size: 20px; border-radius: 5px; color: white; background-color: rgb(51,21,70); } #head{ color: rgb(200,214,225); font-size: 30px; height: 50px; border-bottom: 2px solid rgb(68,68,68); margin-bottom: 20px; } </style> </head> <body> <div id="box"> <div id="head"> 留言板 </div> <div id="fill_in"> <textarea id="content"></textarea> <button id="btn">提交留言</button> </div> <!--留言列表--> <div id="message_text"> <ul class="list"> </ul> </div> <!--分页--> <div id="page"> <a href="javasript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >1</a> <a href="javasript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >2</a> </div> </div> </body> <script src="Jq/jquery-3.1.1.min.js"> </html>

代码显示不完,下面是php部分代码。
接01部分,jq的ajax请求:

<script type="text/javascript"> $(function(){ $("#btn").on("click",function(){ if ($("#content").val() == "") { alert("~~客官,说一句再走呗~~"); return; } else{ $.ajax({ type:"get", url:"http://localhost/phpStudy/ajax03/message.php", async:true, dataType:"json", data:{ content:$("#content").val(), act:"add" }, success:function(data){ // var result = JSON.parse(data); if (data.error==0) { createLi(data.id,$("#content").val(),data.time); } else{ alert(data.msg); } } }); } }); //创建节点 function createLi(id,content,time){ var html = $('<li><p>'+content+'</p><div class="control"><span>时间:'+time+'</span>顶:<em>0</em>踩:<em>0</em><a class="remove" href="javasript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >删除</a></div></li>'); $(".list").prepend(html); var h = html.height(); html.height(0); html.stop().animate({ height:h },300); //删除 html.find(".remove").on("click",function(){ html.stop().animate({ height:0 },300,function(){ html.remove(); }) }); } }) </script>

这部分是php代码部分:

<?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";

这一行是引用其他代码

<?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; } ?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-09-02 04:57:45

Ajax与mysql数据交互制作留言板功能(全)的相关文章

Ajax与mysql数据交互实现留言板功能

最近自己做了一个小demo,实现了Ajax与MySQL的数据交互,js部分用的是jq,后台用的是PHP,数据库是mysql,过时间再来一个node+MongoDB版的. 关于mysql的使用和安装,就不多讲了,自行百度xampp,Apache服务器和mysql数据库集成,非常好用 首先打开服务器和数据库,我这里先建立了一个"eleven"的数据库,下面建立了一个叫做microblog的表(请注意:我这里使用的是高版本的mysql,里面php链接数据库的方法使用的都是mysqli_  如

用PHP制作留言板

我们在很多网站上都能看到各式各样的留言板,它是网站与访客之间进行交流的主要手段之一.一个设计合理,界面优美的留言板程序能从侧面体现网站良好的服务,给来访用户留下美好的印象,增强用户对网站的信心.留言板从程序角度来看其实很简单,难在朴实无华的功能中有创意的表现.下面我们仅以PHP脚本程序为例,从程序的角度讲述怎样制作留言板. 留言板实现的原理一般有两种,即文件型和数据库型.它们是以留言信息在服务器的存放方式来区分的.由于文件型留言系统难以胜任多用户.大容量的信息处理和查询事务,因此具有良好延展性的

如何利用FLASH制作留言板

如何利用FLASH制作留言板? 解决思路 我们可以通过FLASH  MX中自带的组建来实现一个简单的留言板实例.使用FLASH中的组件非常方便.本例只是涉及到了制作,留言板在具体的应用中还有很多FLASH以外的知识,在这里就不向大家介绍了. 具体步骤 1,  运行FLASH MX,文档属性默认. 2,  导入一幅壁纸图片留言板的背景.朋友们也可以自己设置FLASH文档背景或者建立一个图层作为背景.如图1所示. 图1    导入背景图片 3,  新建一个图层,利用文本工具,输入静态文本.并设置它们

php+mysql 最简单的留言板

学完了记得动手操作. 欢迎来到我的留言板! name: email: content:  以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql , 留言板 , 简单 , email , name content php mysql留言板.php mysql 留言板源码.php mysql留言板系统.php mysql制作留言板.php mysql实现留言板,以便于您获取更多的相关知识.

PHP结合Mysql数据库实现留言板功能_php实例

先给大家展示下留言板效果图: 最近看了下PHP基础语法,就想利用这些基本东西实现留言板,也是对基础知识的一个巩固. 什么是留言板?一种可以用来记录,展示文字信息的载体. 现切入正题,说说本次留言板是怎么实现! 首先用户提交留言后,相关内容存入服务器,当他想看的时候后台再把所有留言读出来,最后显示在浏览器上,用户就可以看到留言了. 这其中后台需要便于读写数据的一个工具,我选择mysql数据库来帮助我完成这些事. 我写了主要是三个php文件,分别是: conn.php 连接数据库: addmsg.p

phpcms v9不用下插件就可以轻松制作留言板

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 相信很多用phpcms v9的站长都不是程序员,而我也是一个网页设计师,所以对制作模板还是可以对付的.但是一设计到自己写程序,就一个头两个大啦.之前公司的网站是用找别人用dede cms做的,后来我接手的时候发现里面的模板乱七八糟的,所以决定来一次改版.在网上搜了搜cms程序,普遍都说phpcms比dedecms要高级多 了,于是毅然选择了p

在FLASH MX里面用组件制作留言板

这是一个简单的用UI Componets组件制作留言板,在输入姓名.性别.籍贯.爱好和留言等信息后,只要单击"提交"按钮,就能在记录里显示以上的信息,而单击"清空"按钮可以留言清除掉 演示如图示 [upload=swf]UploadFile/2004-3/2004325201012209.sw [flash=480,360]UploadFile/2004-3/2004325201012209.swf[/flash] 由于本人的FLASH MX上面组件是空的,而且20

Ajax+PHP简单数据交互_AJAX相关

PHP是一种创建动态交互性站点的服务器端脚本语言,优势:PHP脚本语言应用广泛,开源免费,最重要的是入门简单,容易掌握. PHP能够生成动态页面内容 PHP能够创建.打开.读取.写入.删除以及关闭服务器上的文件 PHP能够接收表单数据 PHP能够发送并取回cookies PHP能够添加.删除.修改数据库中的数据 PHP能够限制用户访问网站中的某些页面 能够运行于各种平台,几乎兼容所有WEB服务器,支持多种数据库 1.我们想要运行PHP,首先要有个web服务器,一般可以在本地部署一个服务器用来测试

简单实现PHP留言板功能_php实例

本文实例为大家分享了PHP留言板功能的具体实现代码,供大家参考,具体内容如下 HTML代码 <div class="continer" > <div class="head" style="background-color:rgb(217,237,247);height:50px;vertical-align:middle"><h2 style="color: rgb(81,117,114)"&g