【发布时间】:2014-07-25 07:41:20
【问题描述】:
这里我有 10 个输入字段。然后,当用户单击提交按钮时,我想要唯一已修改的输入字段发送到数据库并更新,而不是发送到数据库的所有输入字段。
我怎样才能实现它?
【问题讨论】:
-
你可以使用update
-
有什么区别?
这里我有 10 个输入字段。然后,当用户单击提交按钮时,我想要唯一已修改的输入字段发送到数据库并更新,而不是发送到数据库的所有输入字段。
我怎样才能实现它?
【问题讨论】:
如果您需要保存用户触摸的字段,请参阅第一个变体。但缺点是如果用户将字段“abc”更改为“xyz”,然后将其更改为“abc”,则该字段将被标记为已更改。如果这不是您想要的,请查看下一个变体。
(1)
当字段被修改时,您可以在字段中使用onchange() 事件来设置变量。然后使用input hidden 字段将这些变量发送到服务器。像这样:
<input type='text' name='input1' onchange="getElementsByName('input1changed')[0].value = 1;">
<input type='text' name='input2' onchange="getElementsByName('input2changed')[0].value = 1;">
<input type='hidden' name='input1changed' value=0>
<input type='hidden' name='input2changed' value=0>
然后在你的 PHP 代码中:
if ($_POST['input1changed'])
store $_POST['input1']
if ($_POST['input2changed'])
store $_POST['input2']
(2)
<input type='hidden' name='input1old' value='sometext1'>
<input type='text' name='input1' value='sometext1'>
<input type='hidden' name='input2old' value='sometext2'>
<input type='text' name='input1' value='sometext2'>
在 PHP 中:
if ($_POST['input1old'] != $_POST['input1'])
store $_POST['input1']
if ($_POST['input2old'] != $_POST['input2'])
store $_POST['input2']
【讨论】:
您可以比较这两个数组。
第一个是您在网站上加载的数据,第二个是$_POST 数组。
【讨论】:
如果设置了输入,您可以检查您的 php 并相应地编写查询。
if(isset($_POST['name'])){
<!-- query -->
}
【讨论】: