2016-01-21 6 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 код для обновления UserAccount ниже или выше вашего link.When вы использовали facebox, форму, вы имеете открытый, поскольку всплывающее окно стало частью этого файла, поэтому логично передать ваш 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

благодарит за ответ! Я редактирую свой пост ... Я исправляю код около , он находится внутри php-кода. Я копирую код и применяю его, но он не работает. – MeSH

+0

есть ли другой способ? потому что нет необходимости открывать новую страницу только для редактирования статуса, вместо этого появится всплывающее окно. – MeSH

+0

Что не работает? –