当我有一个动态表时,能够在'Button Click'上更新一行

时间:2014-12-27 21:19:10

标签: php html mysql

当我按下按钮时,我需要一些帮助来更新表格中的行。目前我有一个动态表,它从数据库中提取数据并将其作为表发布。我现在真正想做的是能够在点击按钮时更新一行。这是我的代码。

我的数据库(表名:赋值):

| ID | CustomerID | Name | Address | Technician |

我的PHP:

<?php 
if(isset($_POST['customerButton'])){
    $ID = $row_Assignment['ID']; <--- //Not sure which ID to fetch, so it'll be unique for each customer  
    $user = $row_Users['username']; <--- // Name of the logged in user.

    mysql_query("UPDATE assignment SET technician = '$user' WHERE ID='$ID'"); <--- //Not sure what to put after 'WHERE'. 
}

?>

这是动态表的片段

<td><?php echo $row_Assignment['address']; ?></td>
<td>
<?php echo $row_Assignment['technician']; ?>

<form action="" method="post"> 

    <input type="submit" name="customerButton" id="customerButton" value="Add">

</form>
</td>

谢谢!

2 个答案:

答案 0 :(得分:1)

所以你想要更新一个充满输入的表吗?我的意思是你下载表然后excel像修改它并保存回来。

让你的表在tds中充满输入,除了应该在隐藏输入中的id 然后,当您发布含义时,您将使用数组发送此信息,例如

  <td><input name='name[]'></td><td><input name='comments[]'></td>...etc 

当你发布

时这样
   $_POST['name']=// a list of the values then you just have to update each row  so...

使用php中的foreach进行更新

   foreach($_POST['name'] as $key=>$value){
      $ID = $_POST['id'][$key]; 
         $name = value;
         $comments = $_POST['comments'][$key];

          mysql_query("UPDATE assignment SET technician = '$name',comments='$comments' WHERE ID='$ID'");

   }

这种方法将更新整个表格

答案 1 :(得分:1)

只需在html中设置隐藏的ID值

<td>
<?php echo $row_Assignment['technician']; ?>

<form action="" method="post"> 
    <input type="hidden" name="assignment_id" value="".$row_Assignment['ID']."">
    <input type="submit" name="customerButton" id="customerButton" value="Add">

</form>
</td>

然后在您的PHP代码上进行更新,您可以通过获取ID来轻松识别提交的行

$ID = $_POST['assignment_id'];

然后,您可以在更新的where条件中使用该$ ID,并设置您需要为需要更新的列设置的任何值。