更新每个表行的链接

时间:2017-06-14 12:01:21

标签: php mysql

使用我所拥有的代码,我可以成功地从我的数据库中读取和显示数据, " 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");


        ?>

4 个答案:

答案 0 :(得分:1)

首先,您必须将ID添加到链接网址:

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

答案 1 :(得分:0)

如果这真的是所有代码,那么我认为,您只是在agencies_admin_update.php中指定查询而不执行它。

见这里:

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

$query变量已设置,但未执行。 指定变量后,您将使用以下代码立即重定向用户:

        header("Location: agencies_validation.php");

但我想知道这应该如何运作,因为您没有指定$id,您想在agencies_admin_update.php更新。

答案 2 :(得分:0)

试试这个!!!

require_once 'Mail.php';

$headers = array (
'Content-Type' => "text/html; charset=UTF-8",  // <- add this line 
'From' => SENDER,
'To' => RECIPIENT,
'Subject' => SUBJECT);

答案 3 :(得分: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");
    }

    ?>