2017-06-14 83 views
-2

隨着代碼我有我可以成功地從我的數據庫中讀取和顯示數據, 「agencies_validation」這樣做。我也設法讓它顯示每行的更新鏈接。但更新鏈接沒有效果。所以我想要它做的是當我點擊更新鏈接它調用「agencies_admin_update.php」應該更新該行。但它不起作用。每個表格行的更新鏈接

//agencies_validation 

      <table border="2"> 
     <tr> 
      <td>title</td> 
     </tr> 


      <?php 

    include_once 'database.php'; 
    echo '<form action= "agencies_admin_update.php" method="get">'; 
    $valid_query = "SELECT * FROM agencies "; 
    $valid_result = mysqli_query($link, $valid_query); 

    while ($row = mysqli_fetch_array($valid_result)) { 
     echo '<tr>'; 

     $id = $row['id']; 
     echo '<td>'.$row['title'].'</td>'; 
     echo "<td><a href='agencies_admin_update.php?'>UPDATE</a></td>"; 
     echo '<tr>'; 
    } 
     echo '</form>'; 
      ?> 

      </table> 

//agencies_admin_update.php 
    <?php 
     include_once 'database.php'; 
      $id = $_GET['id']; 
     $query = "UPDATE agencies SET admin=2 WHERE id = $id"; 
     header("Location: agencies_validation.php"); 


     ?> 
+1

執行查詢,因爲你不鏈接發送'id':'...'agencies_admin_update.php ID =」 $行?[ '身份證']。 「'...' – Jeff

+0

我把這個代碼:echo」​​UPDATE「;但它仍然不起作用。 –

+1

你想被黑客攻擊嗎?或者對你沒有意義嗎?你有一個嚴重的SQL注入打開 –

回答

1

首先您必須將ID添加到鏈接URL:

... 
echo "<td><a href='agencies_admin_update.php?id=" . $id . "'>UPDATE</a></td>"; 
... 

第二,你不僅要生成SQL查詢,但並執行:

... 
$query = "UPDATE agencies SET admin=2 WHERE id = $id"; 
mysqli_query($link, $query) 
... 
0

如果這真的是所有的代碼,那麼我想,你只是規定在agencies_admin_update.php查詢並沒有執行它。

在這裏看到:

$query = "UPDATE agencies SET admin=2 WHERE id = $id"; 

$query變量設置,但不執行。 指定變量之後要使用此代碼immidiately將用戶重定向:

 header("Location: agencies_validation.php"); 

但我想,這應該是如何工作的,因爲你沒有$id規定,要在agencies_admin_update.php更新。

0

試試這個!

<td><a href='agencies_admin_update.php?id=<?php echo $row['id']; ?>'>UPDATE</a></td> 
+0

我試過了,但我得到語法錯誤。 –

0

您需要執行agencies_admin_update.php文件中的更新查詢,並使用agencies_validation文件中的網址發送ID

//agencies_validation 

     <table border="2"> 
    <tr> 
     <td>title</td> 
    </tr> 


     <?php 

include_once 'database.php'; 
echo '<form action= "agencies_admin_update.php" method="get">'; 
$valid_query = "SELECT * FROM agencies "; 
$valid_result = mysqli_query($link, $valid_query); 

while ($row = mysqli_fetch_array($valid_result)) { 
    echo '<tr>'; 

    $id = $row['id']; 
    echo '<td>'.$row['title'].'</td>'; 
    echo "<td><a href='agencies_admin_update.php?id=".$id."'>UPDATE</a></td>"; 
    echo '<tr>'; 
} 
    echo '</form>'; 
     ?> 

     </table> 

在這個文件

// agencies_validation 
<?php 
    include_once 'database.php'; 
    $id = $_GET['id']; 
    $query = "UPDATE agencies SET admin=2 WHERE id = $id"; 
    $result = mysqli_query($link, $query); 
    if($result) { 
     // Show success message 
     header("Location: agencies_validation.php"); 
    } else { 
     // Show error message 
     header("Location: agencies_validation.php"); 
    } 

    ?>