仅为提交的表单编辑的值更新数据库值

Posted

技术标签:

【中文标题】仅为提交的表单编辑的值更新数据库值【英文标题】:Update database values only for values edited by a submitted form 【发布时间】:2018-11-03 01:10:31 【问题描述】:

我目前有一个包含客户信息的数据库。 我还为每个客户提供了一个页面,它将数据库中的每一个信息显示到表单的某些字段中,并且在同一页面中有一个更新按钮。 通过这种方式,我只想在数据库中更新表单中已更改的字段。 哪个是最好的方法? 或者我只需要更新每一列,考虑到 mysql 更新函数只识别和更新已更改的值?

【问题讨论】:

检查哪些字段已更改。仅为这些字段运行更新功能。确保使用准备好的函数......你有没有尝试过什么? 【参考方案1】:

例如,最好的方法是在 php 中为每个数据库对象(CustomerInformation)构建对象......然后你可以这样做:

include 'db.customerinformation.php'; /* you'll need to create this file, and populate it with code to do the following */

$cust = new CustomerInformation;
$cust->Open($_POST['DatabaseID']);
$cust->_CompanyName = $_POST['CompanyName'];
$cust->_Phone = $_POST['Phone'];
$cust->_Email = $_POST['Email'];
$cust->Update();

就是这样!这显然是对您需要做的事情的简化,但绝对是正确的方法。

db.customerinformation.php 示例

class CustomerInformation 

      public $_DatabaseID = '';
      public $_CompanyName = '';


      function Open($id) 
               // MySQL code to open the DB object ... you need to code this.
               $this->_CompanyName = $row['CompanyName']; /*database field for company name */
      


      function Update() 
            // Make code to update the entire row based on $_DatabaseID
      

【讨论】:

以上是关于仅为提交的表单编辑的值更新数据库值的主要内容,如果未能解决你的问题,请参考以下文章

表单提交时更改的值(下拉表单)

如果提交表单时未选中复选框,如何将布尔值更新为 0

表单输入的值在 React 中提交时未更新

使用表单提交更新数据库中选定的下拉值

表单提交后的实时视图更新与本机反应

如何通过jQuery / Javascript获取更新的表单输入值?