| 
 | 
	
 
 
  转自kongzimengsheng 
 
 
| 编号 | 姓名 | 年龄 | 性别 | 邮箱 |  | 1 | kaka | 18 | Boy | kaka@sina.cn |  | 2 | Jerry | 17 | Girl | Jerry@yahoo.cn |  
  
 |      
 
index.php 
 
<?php 
header("Content-Type:text/html;charset=utf-8"); 
$mysqli = mysql_connect("localhost","root","")or die("exit"); 
mysql_select_db("demo"); 
?> 
<html> 
<head> 
<title>可编辑表格</title> 
<script type="text/javascript" src="jquery-1.4.min.js"></script> 
<style type="text/css"> 
body{ 
font-size:12px; 
background:#eee; 
text-align:center; 
} 
table{ 
width:600px; 
border:1px solid #050; 
border-collapse:collapse; 
} 
tr,td{ 
border:1px solid #050; 
width:120px; 
} 
</style> 
</head> 
<body> 
<table> 
<tr> 
<td>编号</td> 
<td>姓名</td> 
<td>年龄</td> 
<td>性别</td> 
<td>邮箱</td> 
</tr> 
<?php  
$sql = "SELECT id,name,age,sex,email from users "; 
$result  = mysql_query($sql)or die(mysql_error()); 
while($row = mysql_fetch_array($result)){      
?>        
<tr> 
<td class="id"><?php echo $row['id']?></td> 
<td><?php echo $row['name']?></td> 
<td><?php echo $row['age']?></td> 
<td><?php echo $row['sex']?></td> 
<td><?php echo $row['email']?></td> 
</tr> 
<?php  
} 
mysql_close($mysqli); 
?>    
</table> 
<script type="text/javascript" src="jquery-1.4.min.js"></script> 
<script type="text/javascript"> 
$(function(){ 
//奇数行变色 
$("tr:even").css("background-color","#ffff99"); 
//不存在id的行加click事件 
$("tr td:not(.id)").click(function(){ 
//alert($(this).text()); 
if($(this).children('input').length > 0) 
return; 
//取现表格中原有的内容 
var data = $(this).text(); 
//将内容设置为空 
$(this).html(""); 
// 
//保留编辑表格 
var td =  $(this); 
//创建一个文本输入框 
var input = $("<input type='text' >"); 
//将单元格的内容复制到input 文件框中 
input.val(data); 
//input 背景设定 
input.css("background-color",$(this).css("background-color")); 
input.css("border-width","0px"); 
input.css("width",$(this).css("width")); 
//在表格中放一个input表单   $(this) 单元格 
input.appendTo($(this)); 
//表单放入表格后触发焦点事件 
input.trigger("focus"); 
//全选内容 
input.trigger("select");   
 
//----------------------------- 
//添加键盘事件 
input.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:a,email:e} 
$.post("save.php",{id:i,name:n,age:a,sex:s,email:e},function(data){ 
alert(data); 
}); 
}); 
}); 
}); 
</script>      
</body> 
</html> 
 
   
 
save.php 
 
<?php 
header("Content-Type:text/html;charset=utf-8"); 
$mysqli = mysql_connect("localhost","root","")or die("exit"); 
mysql_select_db("demo"); 
$sql = "update users set name = '{$_POST["name"]}' ,age = '{$_POST["age"]}',sex='{$_POST["sex"]}' ,email='{$_POST["email"]}' where id = '{$_POST["id"]}'"; 
//echo $sql; 
$rs = mysql_query($sql); 
if($rs){ 
echo "修改成功"; 
}else{ 
echo "修改失败"; 
} 
mysql_close($mysqli); 
 
   
 
数据表 
 
CREATE DATABASE demo DEFAULT CHARACTER SET UTF8; 
CREATE TABLE `users` ( 
`id` int(11) NOT NULL, 
`name` varchar(20) NOT NULL, 
`age` int(11) NOT NULL, 
`sex` varchar(10) NOT NULL, 
`email` varchar(100) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 
INSERT INTO `users` VALUES ('1', 'kaka', '18', 'Boy', 'kaka@sina.cn'); 
INSERT INTO `users` VALUES ('2', 'Jerry', '17', 'Girl', 'Jerry@yahoo.cn'); |   
 
 
 
 |