在链接的新页面上显示 mysql 个查询结果

Display mysql query results on a new page from links

我创建了一个 table 并以简短的 table 报告格式显示来自 MySQL 的条目。 table 中的每个条目都有更多属性,当我单击其名称中的 link 时,我想在单独的页面上显示这些属性。

<?php
        require_once 'includes/db.php';
        connect();

                    $query = "SELECT * FROM persons order by date_entered DESC LIMIT 5";
                    $response = mysqli_query($con, $query);
                    if($response){
                    echo '<div id="frm"> <h2> Last 5 candidates entered </h2> <table align="left">
                    <tr>
                            <td align="left"><b>First Name</b></td>
                            <td align="left"><b>Email</b></td>
                            <td align="left"><b>Sex</b></td>
                            <td align="left"><b>City</b></td>
                            <td align="left"><b>Phone Number</b></td>
                            <td align="left"><b>Education</b></td>
                            <td align="left"><b>Salary</b></td>
                    </tr>';

                    while($row = mysqli_fetch_array($response)){
                    echo '<tr>
                            <td align="left">' . '<a href="person.php">' . $row["first_name"] . " " .$row['last_name'] . '</a>' . '</td>
                            <td align="left">' . $row['email'] . '</td>
                            <td align="left">' . $row['sex'] . '</td>
                            <td align="left">' . $row['city'] . '</td>
                            <td align="left">' . $row['phone'] . '</td>
                            <td align="left">' . $row['education'] . '</td>
                            <td align="left">' . $row['salary'] . '</td>';
                    echo '</tr>';
                    }
                    echo '</table>';
                    } else {
                    echo "Couldn't issue database query<br />";
                    echo mysqli_error($con);
                    }
                    mysqli_close($con);
            ?>

这给了我一份 table 报告,名称中有 links:

brief report with link in names

我的问题是:如果我在 table 中单击 Mary Swanson,我在 person.php 中使用什么变量以便我可以检索该记录的 MySQL 数据?

谢谢。

您可以通过 link 将此 ID 作为 GET 变量传递,并在另一端使用它来查询数据库中的特定记录,如下所示:

<?php
    require_once 'includes/db.php';
    connect();

    $query = "SELECT * FROM persons order by date_entered DESC LIMIT 5";
    $response = mysqli_query($con, $query);
    if($response){
        echo '<div id="frm"> <h2> Last 5 candidates entered </h2> <table align="left">
                        <tr>
                                <td align="left"><b>First Name</b></td>
                                <td align="left"><b>Email</b></td>
                                <td align="left"><b>Sex</b></td>
                                <td align="left"><b>City</b></td>
                                <td align="left"><b>Phone Number</b></td>
                                <td align="left"><b>Education</b></td>
                                <td align="left"><b>Salary</b></td>
                        </tr>';

        while($row = mysqli_fetch_array($response)){
            echo '<tr>
                                <td align="left">' . '<a href="person.php?id=' . $row["id"] . '">' . $row["first_name"] . " " .$row['last_name'] . '</a>' . '</td>
                                <td align="left">' . $row['email'] . '</td>
                                <td align="left">' . $row['sex'] . '</td>
                                <td align="left">' . $row['city'] . '</td>
                                <td align="left">' . $row['phone'] . '</td>
                                <td align="left">' . $row['education'] . '</td>
                                <td align="left">' . $row['salary'] . '</td>';
            echo '</tr>';
        }
        echo '</table>';
    } else {
        echo "Couldn't issue database query<br />";
        echo mysqli_error($con);
    }
    mysqli_close($con);
    ?>

然后你可以像这样访问另一端的变量 $_GET["id"])

<?php
require_once 'includes/db.php';
connect();

$query = "SELECT * FROM persons where id = " . $_GET["id"]);
$response = mysqli_query($con, $query)

在此之后你可以打印查询返回的值,就好像多行一样select,但它只会返回一行,你仍然需要做一段时间,因为它returns 是一个数组。