罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 710|回复: 0

PHP实现前台页面与MySQL的数据绑定、同步更新

[复制链接]

694

主题

735

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
19765
发表于 2019-6-18 03:45:31 | 显示全部楼层 |阅读模式
  今天我来给大家介绍一个PHP-MySQL的小项目。
  使用 PHP和前台Ajax 实现在前台对MySQL数据库中数据的增、删等操作语句功能。
  如果有问题,欢迎拍砖~ 有不懂的地方,提出来咱们一起探讨~
  首先,我们先做好前台HTML、CSS样式,代码如下:
  
  1. <head>
  2.   <meta charset="utf-8" />
  3.   <title>主页</title>
  4.   <style type="text/css">
  5.   #table{               
  6.   width:600px;
  7.   margin: 20px auto;
  8.   border-collapse: collapse;                                
  9.   }
  10.   #table thead tr{
  11.   height: 30px;                        
  12.   background-color: orange;
  13.   color: white;                           
  14.   }
  15.   #table tbody tr{
  16.   height: 30px;                        
  17.   }
  18.   #table th,td{               
  19.   border: 1px solid black;
  20.   }
  21.   #table a{
  22.   color: dodgerblue;
  23.   cursor: pointer;
  24.   }
  25.   </style>
  26.   </head>
  27.   <body>
  28.   <h1 align="center">用户管理系统</h1>
  29.   <hr />
  30.   <thead > [tr] <th>用户Id</th> <th>用户名</th> <th>密码</th> <th>真实姓名</th> <th>操作</th> [/tr] </thead> <tbody></tbody> <tfoot> // 增加数据时使用 </tfoot><table class="t_table"><tbody><tr><td> <input type="text" name="userid" value="id无需输入" disabled="disabled"/> </td><td> <input type="text" name="username"/> </td><td> <input type="text" name="pwd" /> </td><td> <input type="text" name="truename" /> </td><td> <input type="button" onclick="addUser()" value="新增用户" /> </td></tr></tbody></table>
  31.   </body>
复制代码

  接下来我们需要实现的功能是,在每次更改数据或者刷新页面的时候,都可以将数据库的数据显示到网页页面中。
  我们做一个纯PHP文件,命名doshowUserList.php,文件中代码如下:
  
  1. <?php
  2.   header("Content-Type:text/html;charset=utf-8");  
  3.   include_once "mysql.php";   // 为了便于后期操作,我们将绑定数据库的代码单独写在另一个PHP文件中,通过导入的方式引入。
  4.   $sql = <<<sql// 准备SQL语句
  5.   select * from `user`;   
  6.   sql;
  7.   $res = mysqli_query($conn, $sql);   // 执行SQL语句
  8.   $arr=[];
  9.   while($row=mysqli_fetch_assoc($res)){
  10.   $arr[]=$row;
  11.   }
  12.   $json = json_encode($arr);
  13.   echo $json;
  14.   mysqli_free_result($res);
  15.   mysqli_close($conn);
复制代码

  PHP连接数据库 的PHP文件,命名为mysql.php,代码如下:
  
  1. <?php
  2.   header("Content-Type:text/html;charset=utf-8");
  3.   define("HOST", "127.0.0.1");
  4.   define("USERNAME", "root");
  5.   define("PASSWOED", "");
  6.   define("DBNAME", "mydatabase");
  7.   define("CHARSET", "utf8");
  8.   // 连接数据库的同时,直接检测数据库连接是否成功
  9.   $conn = @mysqli_connect(HOST, USERNAME, PASSWOED, DBNAME) or die("数据库连接失败!<span style='color:red;'>".mysqli_connect_error()."</span>");
  10.   // 设置字符集编码
  11.   @mysqli_set_charset($conn, CHARSET) or die("字符集编码设置失败!");
复制代码

  后台的PHP文件写好以后我们需要在前台声明一个函数 getData(),在函数体内使用ajax引入doShowUserList.php,前台JS代码如下:
  
  1. <script src="js/jquery-3.1.1.js" type="text/javascript"></script>
  2.   <script type="text/javascript">
  3.   $(function(){     // 在文档DOM加载完后,就自动获取一遍数据   
  4.   getData();
  5.   });
  6.   // 获取数据  html中显示tbody内容的代码 采用ES6的反引号``可以直接在``中按照H5的形式写代码,比拼串的写法更简洁、更容易看
  7.   function getData(){
  8.   $.post("admin/doShowUserList.php",function(data){
  9.   var html = ``;
  10.   for (var i = 0; i < data.length; i++) {
  11.   var user =    data<i>;
  12.   html += `
  13.   [tr]                                          
  14.   [td]${user.id}[/td]
  15.   [td]${user.name}[/td]
  16.   [td]${user.pwd}[/td]
  17.   [td]${user.trueName}[/td]
  18.   [td]
  19.   <a onclick="delUser(${user.id})" href="">删除</a>
  20.   [/td]
  21.   [/tr]
  22.   `;   
  23.   }
  24.   $("#table tbody").html(html);
  25.   },"json");
  26.   }
  27.   </script></i>
复制代码

  获取数据功能实现了,接下来我们实现增加数据的功能,按照上面的套路,我们首先新建一个PHP文件,命名为doAddUser.php,代码如下:
 
  1.  <?php
  2.   header("Content-Type:text/html;charset=utf-8");
  3.   include_once 'mysql.php';
  4.   // $_POST 取到前台对象user 的键名
  5.   $name = $_POST["username"];
  6.   $pwd = $_POST["pwd"];
  7.   $trueName = $_POST["trueName"];
  8.   $sql = <<<sql      
  9.   insert into `user`      
  10.   values(null,"{$name}","{$pwd}","{$trueName}");
  11.   sql;
  12.   $isOk = mysqli_query($conn, $sql);
  13.   if($isOk){
  14.   echo "true";
  15.   }else{
  16.   echo "false";
  17.   }
复制代码

  在前台声明一个函数addUser() ,在函数体内使用ajax引入doAddUser.php,前台JS代码如下:
  
  1. // 新增数据            
  2.   function addUser(){
  3.   if($("input[name = 'username']").val()== "" || $("input[name = 'pwd']").val()== "" || $("input[name = 'truename']").val()== ""){
  4.   alert("新增不可为空!请确认!");
  5.   return;               
  6.   }
  7.   var user = {               
  8.   "username" : $("input[name='username']").val(),
  9.   "pwd" : $("input[name='pwd']").val(),
  10.   "trueName" : $("input[name='truename']").val(),
  11.   }
  12.   $.post("admin/doAddUser.php",user,function(data){
  13.   if (data == "false") {
  14.   alert("新增用户失败!")
  15.   }     
  16.   getData();        
  17.   $("input[name='username']").val("");
  18.   $("input[name='pwd']").val("");
  19.   $("input[name='truename']").val("");
  20.   });
  21.   }
复制代码

  最后就是删除功能了,套路同上,新建一个doDelUse.php,在前台声明一个函数delUser();  代码分别如下显示:
  
  1. <?php
  2.   header("Content-Type:textml;charset=utf-8");
  3.   include_once "mysql.php";
  4.   $id=$_POST["id"];
  5.   $sql = <<<sql
  6.   delete from `user` where id = {$id};
  7.   sql;
  8.   $isOk = mysqli_query($conn, $sql);
  9.   if($isOk){
  10.   echo "true";
  11.   }else{
  12.   echo "false";
  13.   }
  14.   // 删除数据        
  15.   function delUser(id){
  16.   $.post("admin/doDelUser.php",{"id":id},function(data){
  17.   if (data == "true") {
  18.   alert("删除成功!")
  19.   } else{
  20.   alert("删除失败!")                    
  21.   }            
  22.   getData();               
  23.   });
  24.   }
复制代码

  最终,效果如下:
  
  数据库中的数据:
  
打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 19:33 , Processed in 0.503308 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表