基于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 相关文章推荐
js滚动条多种样式,推荐
Feb 05 Javascript
javascript jscroll模拟html元素滚动条
Dec 18 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 Javascript
js 为label标签和div标签赋值的方法
Aug 08 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
Jun 07 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
Sep 06 Javascript
angularjs实现猜数字大小功能
May 20 Javascript
浅析Vue中拆分视图层代码的5点建议
Aug 15 Javascript
Vue实现验证码功能
Dec 03 Javascript
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
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的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
python接口自动化框架实战
2020/12/23 Python
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
承办会议欢迎词
2014/01/17 职场文书
教师求职简历自我评价
2015/03/10 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
胡桃夹子观后感
2015/06/11 职场文书
导游词之镇江焦山
2019/11/21 职场文书
详解Nginx 工作原理
2021/03/31 Servers
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫