2017-06-14 85 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"); 
    } 

    ?>