基于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 相关文章推荐
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 Javascript
基于jquery的loading效果实现代码
Nov 05 Javascript
javascript两种function的定义介绍及区别说明
May 02 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
Aug 30 Javascript
jquery 页面滚动到指定DIV实现代码
Sep 25 Javascript
jquery获取节点名称
Apr 26 Javascript
jQuery实现简单滚动动画效果
Apr 07 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
JS无缝滚动效果实现方法分析
Dec 21 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 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多用户读写文件冲突的解决办法
2013/11/06 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
js实现时间日期校验
2020/05/26 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
布同自制Python函数帮助查询小工具
2011/03/13 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python内建模块struct实例详解
2018/02/02 Python
pytorch 数据集图片显示方法
2018/07/26 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
文明寝室申报材料
2014/05/12 职场文书
电子商务专业自荐信
2014/06/02 职场文书
不同意离婚答辩状
2015/05/22 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers