php表单提交按钮

php表单提交按钮,php,forms,submit,edit,Php,Forms,Submit,Edit,我对php比较陌生。我有以下问题。 假设我有一页 具有两个字段x、y和两个按钮的表单:提交和清除 显示x、y的db记录的表格,带有两个按钮“编辑”和“删除” 当我在表单字段中输入值并按下按钮时,submit会在db中插入数据;数据如下表所示 当我在表格上按edit时,表格将填充所选记录中的数据。现在我想提交以更新记录,而不仅仅是插入新记录 我应该如何进行 谢谢 Giuseppe首先,您应该将当前编辑的id存储在某个位置,如隐藏字段或查询字符串,一旦您这样做,您应该使用update语句来更新记

我对php比较陌生。我有以下问题。 假设我有一页

  • 具有两个字段x、y和两个按钮的表单:提交和清除
  • 显示x、y的db记录的表格,带有两个按钮“编辑”和“删除”
当我在表单字段中输入值并按下按钮时,submit会在db中插入数据;数据如下表所示

当我在表格上按edit时,表格将填充所选记录中的数据。现在我想提交以更新记录,而不仅仅是插入新记录

我应该如何进行

谢谢


Giuseppe

首先,您应该将当前编辑的id存储在某个位置,如隐藏字段或查询字符串,一旦您这样做,您应该使用
update
语句来更新记录,而不是插入新的记录,例如:

// sql query
update tablename set fieldname = 'fieldvalue'......... and son
您需要显示代码以获得准确答案

  • 向行中添加标识符:数据库中的ID列(最好是无符号整数),该列也在表中(您可以将其用作url中用于编辑条目的查询字符串),以及表单中的隐藏输入
  • 如果要添加条目,请确保将隐藏的输入设置为null或零(或其他不能成为有效标识符的值)
  • 无论何时提交表单,都要测试标识符是否为null或其他值
  • 如果标识符为空,请像以前一样添加
  • 如果标识符不为null,则使用输入中的标识符更新元素

  • 您应该在表单中添加一些隐藏字段,以区分更新和插入

    这样做的一个好方法是,例如,将您的主键放置在has字段中

    <input name="id" type="hidden" value="<?= $row['id']"/>
    

    对于insert表单,只需不放置隐藏的输入或将值设为0即可!嗯,我确实有一个我要通过的身份证。问题是如何告诉“提交”按钮以产生不同的行为。您不必告诉它是否没有id或它是否等于0,这意味着它是一个更新
    if(isset($_POST['id']) && $_POST['id'] != 0){
     // this is an update 
     $sql = "UPDATE ...."
     ...
    } else {
     $sql = "INSERt ...";
     ...
    }