基于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类 from qq
Nov 13 Javascript
js随机颜色代码的多种实现方式
Apr 23 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
Oct 22 Javascript
JavaScript中用字面量创建对象介绍
Dec 31 Javascript
IScroll5 中文API参数说明和调用方法
May 21 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
使用Dropzone.js上传的示例代码
Oct 10 Javascript
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 Javascript
Vue使用Element实现增删改查+打包的步骤
Nov 25 Vue.js
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 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
详细介绍Python语言中的按位运算符
2013/11/26 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Python爬取成语接龙类网站
2018/10/19 Python
python解释器spython使用及原理解析
2019/08/24 Python
Python列表解析操作实例总结
2020/02/26 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
高级电工工作职责
2013/11/21 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript