使用 php 保存可编辑表中的值

2024-03-13

Hi I have a table generated from php, it is editable, I want to save edited values to database. I have no Idea how can I do this as there are many rows(dynamic) on a page. Here is a screen-shot:-enter image description here

请建议

Edit:-

我的代码是

    echo "<table border='1'>
<tr>
<th>Sl Number</th>
<th>Product Id</th>
<th>Product Name</th>
<th>Product Catagory</th>
<th>Retal Price</th>
<th>Max Price</th>
<th>Min Price</th>
<th>Initial Stock</th>
<th>Quantity Sold</th>
<th>Current Stock</th>
<th>Last Order</th>
<th>Edit/Update</th>
</tr>";
while($row = $result->fetch_assoc())
{
        echo "<tr contenteditable>";
    echo "<td>" . $row["Row Number"]. "</td>";
    echo "<td>" . $row["Product Id"]. "</td>";
    echo "<td>" . $row["Product Name"]. "</td>";
    echo "<td>" . $row["Product Catagory"]. "</td>";
    echo "<td>" . $row["Retal Price"]. "</td>";
    echo "<td>" . $row["Max Price"]. "</td>";
    echo "<td>" . $row["Min Price"]."</td>";
    echo "<td>" . $row["Initial Stock"]."</td>";
    echo "<td>" . $row["Quantity Sold"]. "</td>";
    echo "<td>" . $row["Current Stock"]."</td>";
    echo "<td>" . $row["Last Order"]."</td>";
    echo "<td contenteditable = 'false'><button href = '#'>Update</a></td>";
        echo "</tr>";   
}

让我给你最好的办法 首先,您的数据库表有空格:更正该错误,例如

from $row["Initial Stock"] to $row["Initial_Stock"]

那么我建议你使用ajax而不是浪费时间点击按钮

HTML 页面

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>
 <script>
$(function(){

    $("#loading").hide();
    //acknowledgement message
    var message_status = $("#status");
    $("td[contenteditable=true]").blur(function(){
        var field_userid = $(this).attr("id") ;
        var value = $(this).text() ;



        $.post('update.php' , field_userid + "=" + value, function(data){



            if(data != '')
            {
                message_status.show();
                message_status.text(data);
                //hide the message
                setTimeout(function(){message_status.hide()},1000);
            }
        });
    });




});
</script>


<style>
table.zebra-style {
    font-family:"Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
    text-align:left;
    border:1px solid #ccc;
    margin-bottom:25px;
    width:100%
}
table.zebra-style th {
    color: #444;
    font-size: 13px;
    font-weight: normal;
    padding: 5px 4px;

}
table.zebra-style td {
    color: #777;
    padding: 4px;
    font-size:13px;

}
table.zebra-style tr.odd {
    background:#f2f2f2;
}


#status { padding:10px; position:fixed; top:10px; border-radius:5px; z-index:10000000; background:#88C4FF; color:#000; font-weight:bold; font-size:12px; margin-bottom:10px; display:none; width:100%; }
#loading { padding:10px; position:absolute; top:10px; border-radius:5px; z-index:10000000; background:#F99; color:#000; font-weight:bold; font-size:12px; margin-bottom:10px; display:none; width:100%; }
</style>

 <div id="status"> </div>
 <div id="loading"></div>





<table id="tableID" border="0"  class="sortable table zebra-style">


<thead>
  <tr>
    <th>Sl Number</th>
    <th>Product Id</th>
    <th>Product Name</th>
    <th>Product Catagory</th>
    <th>Retal Price</th>
    <th>Max Price</th>
    <th>Min Price</th>
    <th>Initial Stock</th>
    <th>Quantity Sold</th>
    <th>Current Stock</th>
    <th>Last Order</th>
    <th>Edit/Update</th>
  </tr>
</thead>
<tbody  class="list">
  <?php do { ?>


  <tr>
    <td contenteditable="true" id="Row_Number:<?php echo $row["Row_Number"]; ?>"><?php echo $row["Row_Number"]; ?></td>
    <td contenteditable="true" id="Product_Id:<?php echo $row["Product_Id"]; ?>"><?php echo $row["Product_Id"]; ?></td>
    <td contenteditable="true" id="Product_Name:<?php echo $row["Product_Name"]; ?>"><?php echo $row["Product_Name"]; ?></td>
    <td contenteditable="true" id="Product_Catagory:<?php echo $row["Product Id"]; ?>"><?php echo $row["Product_Catagory"]; ?></td>
    <td contenteditable="true" id="Retal_Price:<?php echo $row["Retal_Price"]; ?>"><?php echo  $row["Retal_Price"]; ?></td>
    <td contenteditable="true" id="Max_Price:<?php echo $row["Max_Price"]; ?>"><?php echo $row["Max_Price"]; ?></td>
    <td contenteditable="true" id="Min_Price:<?php echo $row["Min_Price"]; ?>"><?php echo  $row["Min_Price"]; ?></td>
    <td contenteditable="true" id="Initial_Stock:<?php echo $row["Initial_Stock"]; ?>"><?php echo  $row["Initial_Stock"]; ?></td>
    <td contenteditable="true" id="Quantity_Sold:<?php echo $row["Quantity_Sold"]; ?>"><?php echo  $row["Quantity_Sold"]; ?></td>
    <td contenteditable="true" id="Last_Order:<?php echo $row["Last_Order"]; ?>"><?php echo  $row["Last_Order"]; ?></td>
    <td contenteditable="true" id="Last_Order:<?php echo $row["Last_Order"]; ?>"><?php echo  $row["Last_Order"]; ?></td>
    <td contenteditable = 'false'></td>";



    </tr>

    <?php } while($row = $result->fetch_assoc()) ?>
 </tbody>
</table>

以及更新php页面

   <?php  


$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 
                  'username', 
                  'password',
                  array(PDO::ATTR_EMULATE_PREPARES => false,
                  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));


?>

<?php
if(!empty($_POST))
{
    //database settings

    foreach($_POST as $field_name => $val)
    {
        //clean post values
        $field_id = strip_tags(trim($field_name));

        //from the fieldname:user_id we need to get user_id
        $split_data = explode(':', $field_id);
        $product_id = $split_data[1];
        $field_name = $split_data[0];
        if(!empty($product_id) && !empty($field_name) && !empty($val))
        {

            $affected_rows = $db->exec("UPDATE yourtable SET $field_name = '$val' WHERE product_ID = $product_id");
            echo $affected_rows;

            echo "Updated";
        } else {
            echo "Invalid Requests";
        }
    }
} 

else {
    echo "Invalid Requests";
}
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 php 保存可编辑表中的值 的相关文章

  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • 在 HTML5 中创建可拖动和可缩放的网格

    与其他 HTML5 不同如何创建网格问题 我想知道如何制作一个可拖动且可扩展的 绘制网格非常简单 var c document getElementById canvas var ctx c getContext 2d var width
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • Facebook 应用程序无法获取会话

    我正在 Heroku 上为 Facebook 开发一个非常基本的 PHP 应用程序 它显示非常基本的用户信息 如姓名 个人资料图片 但该应用程序在 getToken 方法中停止 我在登录我的个人资料后尝试了该应用程序 但仍然出现相同的消息
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for
  • PHP递归遍历对象树[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • 安装 .apk 时,如何将 .apk 中的某些文件解压到 /data/data/ 文件夹?

    我的 Android 应用程序需要另一个 NATIVE 应用程序可执行文件在 Android 应用程序之前运行 以便它们可以通过套接字进行通信 Android 应用程序有一个 JNI 层来处理客户端通信 现在我需要将本机可执行文件与 apk
  • Haskell 的“尾部”函数的时间复杂度是多少?

    当我在阅读 Haskell 教程时 我心里想 Haskell 的时间复杂度是多少tail功能有 以及为什么 我在任何文档中都找不到答案 我猜想对于一个大小为 n 的列表 tail函数将是O n 即将尾部复制到一个新列表并返回该列表 但话又说
  • AndEngine GLES2 中未找到 SimpleLevelLoader 类

    我是 AndEngine 的新手 工作时从AndEngine 教程 http www matim dev com full game tutorial part 11 html 未找到以下类 我尝试从 AndEngine 导入所有库 但仍然
  • 将 DataTable 转换为 JSON,每行包含键

    我认为以下将是一项非常常见的任务 并假设会有一个简单的解决方案 但我找不到 如果我有以下结构的数据表 ID Name Active ID1 John TRUE ID2 Bill FALSE 我想将其序列化为 JSON 对象 其中 ID 列是
  • 如何将浮点数数组转换为 byte[] 并返回?

    我有一个浮点数组需要转换为字节数组并返回浮点 任何人都可以帮助我正确地执行此操作吗 我正在使用 bitConverter 类 发现自己在尝试附加结果时陷入困境 我这样做的原因是为了可以将运行时值保存到 IO 流中 如果重要的话 目标存储是
  • jQuery noConflict() 问题

    因此 我正在一个每次加载页面时都会注入 jQuery 1 2 6 的平台上进行开发 我开发的页面使用 jQuery 1 4 2 因此当我的页面加载时 我的页面上有 2 个 jQuery 实例 为了避免任何冲突 我在页面外部的 JS 文件中包
  • 当 WHERE 子句中只有单个列时,SQL Server 是否会使用复合索引?

    假设我有一张桌子 CREATE TABLE Users Id INT IDENTITY 1 1 FirstName VARCHAR 40 LastName VARCHAR 40 查询通常是开启的名 or LastName 而且还关于名 an
  • Angular 8 - 服务注入和工厂模式

    我已经简要阅读了几篇文章和官方 Angular 指南 但它们似乎无法帮助我解决我的任务 这就是我想要的和所做的 假设我有带有产品列表页面的 Angular 应用程序 此外 这个应用程序将来还会有类别列表页面和一些N列表页面 正如您所看到的
  • MEAN 堆栈上的登录系统架构?

    我正在 MEAN 堆栈 MongoDB Express AngularJS 和 node js 上开发一个 Web 应用程序 我正在开发一个登录系统 并且还将保护一些 Angular 路由 以便只有登录的用户才能访问它们 我正在尝试思考实现
  • 计算数字根,有更好的方法吗?

    这就是我计算整数的数字根的方法 import acm program public class Problem7 extends ConsoleProgram public void run println This program cal
  • 执行字符串?

    我想执行一个字符串 但是发现没有exec朱莉娅函数 a 1 println exec a ERROR exec not defined 有没有办法在 Julia 中执行字符串 最初的问题是我试图记录变量列表 thingsToLog a b
  • jQuery 调整大小至纵横比

    我如何将 jQuery 中的图像大小调整为一致的宽高比 例如设置最大高度并正确调整宽度大小 谢谢 这是一个有用的函数 可以满足您的要求 jQuery fn fitToParent function this each function va
  • 如何获取代表一个月第一天的日期?

    我需要脚本中的功能 使我能够将日期插入表中 插入日期格式需要什么SQL 01 08 2010 00 00 00 其中日期是当月的第一天 我需要什么才能更改可以指定月份值的订单 谢谢 最好和最简单的方法是使用 SELECT DATEADD m
  • 用户和地址应该位于不同的表中吗?

    目前我的用户表有以下字段 Username Password Name Surname City Address Country Region TelNo MobNo Email 会员资格到期 会员数量 DOB Gender Blocked
  • Android:通过带有正文的 Intent 发送短信并返回。

    我正在尝试通过意图发送短信 我想在消息中添加正文 用户按下后send我想返回应用程序 我已经添加了额外的内容sms body and exit on sent 但是当我使用它们时 短信都会出现而没有正文 如果我不使用exit on sent
  • Java Observable 类的替代品? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我从 C 世界转向 Java 在 C 世界中 观察者模式是作为一流语言构造实现的event关键词 我看到Java有Observable
  • 如何一次选择数组中的所有项目,并向它们添加类

    我希望这个函数通过给它们 css hidden 属性来隐藏 html 中的按钮 我已经尝试过 0 1 2 3 4 但它 没有按预期工作 这段代码可以工作 但我想知道是否有更有效的方法来做到这一点 function hideButtons v
  • 尚未为 Microsoft 报告服务中的数据源“Product_Detail”提供数据源实例

    我正在尝试在报告中显示记录 数据位于数据集中 但这与他们无关 当表单加载时 它会显示报告布局 但是当我点击按钮时它显示错误 下面是我的代码 using Microsoft Reporting WinForms
  • 沙箱来执行可能不友好的Python代码[重复]

    这个问题在这里已经有答案了 假设互联网上有一台服务器 可以向其发送一段代码进行评估 在某个时刻 服务器获取已提交的所有代码 并开始运行和评估它 然而 在某些时候它肯定会遇到一些邪恶的程序员发送的 os system rm rf 除了 rm
  • 使用 php 保存可编辑表中的值

    Hi I have a table generated from php it is editable I want to save edited values to database I have no Idea how can I do