基于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 相关文章推荐
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
JavaScript 组件之旅(二)编码实现和算法
Oct 28 Javascript
获取客户端电脑日期时间js代码(jquery)
Sep 12 Javascript
js和php如何获取当前url的内容
Sep 22 Javascript
一个jquery实现的不错的多行文字图片滚动效果
Sep 28 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
Mar 02 Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 Javascript
jQuery Ajax File Upload实例源码
Dec 12 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
js实现登录与注册界面
Nov 01 Javascript
记录一篇关于redux-saga的基本使用过程
Aug 18 Javascript
java和js实现的洗牌小程序
Sep 30 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
自己前几天写的无限分类类
2007/02/14 PHP
php下删除字符串中HTML标签的函数
2008/08/27 PHP
FleaPHP的安全设置方法
2008/09/15 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
php实现的xml操作类
2016/01/15 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
Python3.2中的字符串函数学习总结
2015/04/23 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
python 模拟登录B站的示例代码
2020/12/15 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
离婚起诉书范本
2015/05/18 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python