2016-01-21 24 views
3

對你們所有人來說都是美好的一天。正如標題所示,當更新數據時,我需要關於facebox的幫助。使用facebox更新數據庫表上的數據需要幫助

下面是按鈕的代碼,以顯示facebox

echo ' 
     td> 
      <a rel="facebox" href="../admin/c_status.php?id='.$row["userID"].'">Edit</a> 
     </td> 
    '; 

和這裏的內部facebox

<?php 
include("../db/dbCon.php"); 
//$id = $_GET['id']; 
//echo $id; 
?> 

Status 
<form method="post"> 
    <select name="selActive" id ="selActive"> 
     <option value="ACTIVE">ACTIVE</option> 
     <option value="IN-ACTIVE">IN-ACTIVE</option> 
     <option value="GRADUATE">GRADUATE</option> 
    </select> 
    <br> 
    <br> 

    <button class="btn btn-success btn-block btn-large" name="saveChangeButton" id ="saveChangeButton">Save Changes</button> 
</form> 

<?php 
    if(isset($_POST['saveChangeButton'])){ 
     $id = $_GET['id']; 
     $status = $_POST['selActive']; 

     $cStatus = $conn->prepare("UPDATE useraccount SET status = :status WHERE userID = :userID"); 
     $cStatus->bindParam(':status', $status); 
     $cStatus->bindParam(':userID', $id); 
     $cStatus->execute(); 
    } 
?> 

的代碼,我遇到的問題是數據不會通過點擊編輯按鈕更新但是當我通過地址欄編輯像「http://localhost/ict/admin/c_status.php」。它會工作。

+0

我已經更新了我的回答,請檢查。 –

回答

1

您可以輸入型隱藏,只是做它的值等於$_GET['id']

<form method="post"> 
     <select name="selActive" id ="selActive"> 
      <option value="ACTIVE">ACTIVE</option> 
      <option value="IN-ACTIVE">IN-ACTIVE</option> 
      <option value="GRADUATE">GRADUATE</option> 
     </select> 

     <input type="hidden" name="userid" value="<?php echo $_GET['id'];?>"> 
     <br> 
     <br> 

     <button class="btn btn-success btn-block btn-large" name="saveChangeButton" id ="saveChangeButton">Save Changes</button> 
    </form> 

然後轉移你的PHP代碼更新低於或高於您link.When您使用facebox useraccount,你有形式因爲彈出窗口成爲此文件的一部分而打開,因此您在此處將php代碼更新爲更新帳戶是合乎邏輯的,因爲您未指定上述表單的操作屬性。

echo '<td> 
      <a rel="facebox" href="../admin/c_status.php?id='.$row["userID"].'">Edit</a> 
     </td>'; 
    include("../db/dbCon.php"); 
    if(isset($_POST['saveChangeButton'])){ 
     $id = $_POST['userid']; 
     $status = $_POST['selActive']; 

     $cStatus = $conn->prepare("UPDATE useraccount SET status = :status WHERE userID = :userID"); 
     $cStatus->bindParam(':status', $status); 
     $cStatus->bindParam(':userID', $id); 
     $cStatus->execute(); 
    } 

希望幫助

+0

還有其他方法嗎?因爲不需要打開新頁面來編輯狀態,而是彈出一個框。 – MeSH

+0

什麼不工作? –