基于PHP+Jquery制作的可编辑的表格的代码


Posted in Javascript onApril 10, 2011

table.php

<?php 
header("Content-Type:text/html;charset=utf-8"); 
$mysqli=new MySQLi("localhost","root","123456","xiaoqiangdb"); 
if(mysqli_connect_errno){ 
echo "连接数据库失败".mysqli_connect_error(); 
exit; 
} 
?> 
<html> 
<head> 
<title>可编辑表格</title> 
<link rel="stylesheet" type="text/css" href="style.css"> 
<script src="jquery-1.3.2.min.js"></script> 
<script src="table.js"></script> 
</head> 
<body> 
<?php 
$sql="select id,name,age,sex,email from users limit 0,20"; 
$result=$mysqli->query($sql); 
echo "<table>"; 
echo "<caption>可编辑表格</caption>"; 
echo "<tr>"; 
echo "<th>编号</th><th>姓名</th><th>性别</th><th>年龄</th><th>邮箱</th>"; 
echo "</tr>"; 
while($row=$result->fetch_assoc()){ 
echo '<tr>'; 
echo '<td class="id">'.$row['id']'</td>'; 
echo '<td>'.$row['name']'</td>'; 
echo '<td>'.$row['age']'</td>'; 
echo '<td>'.$row['sex']'</td>'; 
echo '<td>'.$row['email']'</td>'; 
echo '</tr>'; 
} 
echo "</table>"; 
$mysqli->close(); 
?> 
</body> 
</html>

style.css
@charset "utf-8"; 
/* CSS Document */ 
body{ font-size:12px; background:#EEE; text-align:center;} 
table{ width:600px; border:1px solid #050; border-collapse:collapse;} 
th,td{ border:1px solid #050; width:120px;} 
th{ background:#282; color:white;}

table.js
// JavaScript Document 
$(function(){ 
$("tr:even").css("background-color","#ffff99"); 
$("tr td:not(.id)").click(function(){ 
if($(this).children('input').length > 0) 
return; 
//取出表格中原有的内容 
var data=$(this).text(); 
//将内容设置为空 
$(this).html(''); 
var td=$(this); 
//创建一个表格 
var inp=$('<input type="text">'); 
inp.val(data); 
inp.css("background-color",$(this).css("background-color")); 
inp.css("border-width","0px"); 
inp.css("width",$(this).css("width")); 
//在表格中放一个input表单 
inp.appendTo($(this)); 
//表单放入表格后触发焦点事件 
inp.trigger('focus'); 
//全选内容 
inp.trigger('select'); 
//添加键盘时间 
inp.keydown(function(event){ 
switch(event.keyCode){ 
case 13: 
td.html($(this).val()); 
//利用Ajax将数据传给服务器 
//获取一行所有的列对象 
var tds=td.parent("tr").children("td"); 
var i=tds.eq(0).text(); 
var n=tds.eq(1).text(); 
var a=tds.eq(2).text(); 
var s=tds.eq(3).text(); 
var e=tds.eq(4).text(); 
//var user={id:i,name:n,age:a,sex:s,email:e} 
$.post("save.php",{id:i,name:n,age:a,sex:s,email:e},function(data){ 
alert(data); 
}); 
break; 
case 27: 
td.html(data); 
break; 
} 
}).blur(function(){ 
td.html($(this).val()); 
//利用Ajax将数据传给服务器 
//获取一行所有的列对象 
var tds=td.parent("tr").children("td"); 
var i=tds.eq(0).text(); 
var n=tds.eq(1).text(); 
var a=tds.eq(2).text(); 
var s=tds.eq(3).text(); 
var e=tds.eq(4).text(); 
//var user={id:i,name:n,age:a,sex:s,email:e} 
$.post("save.php",{id:i,name:n,age:a,sex:s,email:e},function(data){ 
alert(data); 
}); 
}); 
}); 
});

save.php
<?php 
header("Content-Type:text/html;charset=utf-8"); 
$mysqli=new MySQLi("localhost","root","123456","xiaoqiangdb"); 
if(mysqli_connect_errno){ 
echo "连接数据库失败".mysqli_connect_error(); 
exit; 
} 
$sql="update users set name='{$_POST["name"]}',age='{$_POST["age"]}',sex='{$_POST["sex"]}',email='{$_POST["email"]}' where id='{$_POST["id"]}'"; 
$result=$mysqli->query($sql); 
if($result){ 
echo "修改成功"; 
}else{ 
echo "保存失败"; 
} 
$mysqli->close(); 
?>
Javascript 相关文章推荐
THREE.JS入门教程(4)创建粒子系统
Jan 24 Javascript
jQuery中:empty选择器用法实例
Dec 30 Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
Oct 28 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
easyui-combobox 实现简单的自动补全功能示例
Nov 08 Javascript
AngularJS实现使用路由切换视图的方法
Jan 24 Javascript
浅谈js中function的参数默认值
Feb 20 Javascript
使用原生js编写一个简单的框选功能方法
May 13 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 Javascript
深入浅析JavaScript中的in关键字和for-in循环
Apr 20 Javascript
详细分析vue表单数据的绑定
Jul 20 Javascript
JQuery优缺点分析说明
Apr 10 #Javascript
基于jquery的15款幻灯片插件
Apr 10 #Javascript
再次分享18个非常棒的jQuery表格插件
Apr 10 #Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
Apr 08 #Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
Apr 08 #Javascript
javascript学习笔记(五)正则表达式
Apr 08 #Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 #Javascript
You might like
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
解决vue跨域axios异步通信问题
2019/04/17 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
python装饰器的特性原理详解
2019/12/25 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
颁奖典礼主持词
2014/03/25 职场文书
四风问题对照检查材料
2014/09/22 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server