php可编辑表格

45 篇文章 1 订阅
8 篇文章 0 订阅

转自kongzimengsheng

编号姓名年龄性别邮箱
1kaka18Boykaka@sina.cn
2Jerry17GirlJerry@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');

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值