2014-12-27 49 views
0

當我按下按鈕時,需要更新表格中的一行。目前我有一個動態表,它從數據庫中提取數據並將其作爲表格發佈。我現在真正想要做的是能夠更新按鈕單擊行。這是我的代碼。當我有一個動態表格時,能夠更新'Button Click'上的一行

我的數據庫(表名:分配):

| 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> 

感謝的一個片段!

+0

所以你想更新一個表格輸入?我的意思是你下載表然後excel像修改它,然後將其保存回mysql? – zardilior

+0

基本上是的。 ATM我通過填寫必填字段並將它們顯示在表格中來添加新分配。我基本上想要的是,讓我的一位技術人員能夠按下按鈕來接受分配。 (如果這是有道理的)... – Perelan

+0

你應該使用像Symphony這樣的框架。它將生成所有編程框架,爲您創建,讀取,更新和刪除(CRUD)表格記錄,而無需編程一行代碼。所有你需要做的是在命名數據庫表和字段時遵循一些約定。然後你開始一個名爲「scaffolding」的過程,框架將爲你生成所有的基本代碼,你可以使用它,就像我們擴展和修改你的需要一樣。 – Jpsy

回答

1

只需設置ID的隱藏的價值在你的HTML像這樣

<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']; 

然後你可以使用$ ID在更新的WHERE條件,並設置您需要爲您需要更新的列設置任何值。

+0

謝謝你的工作!我可以再問你一件事嗎?如果行(技術員)!= NULL,我真的想讓按鈕消失。當技術人員已經選擇承擔任務時,那種惱人的有一個按鈕。 – Perelan

1

所以你想更新一個表格的輸入?我的意思是你下載表格然後像修改它並保存回去。

讓你的表是滿的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... 

更新在foreach在你的PHP

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'"); 

    } 

這種方法將更新整個表

+0

我會很快看一看。位忙atm :) – Perelan

相關問題