php - 通过链接在新页面上显示 mysql 查询结果

标签 php mysql

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

<?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);
            ?>

这给了我一个表格报告,其中包含名称中的链接:

brief report with link in names

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

谢谢。

最佳答案

您可以通过链接将此 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)

在此之后,您可以打印查询返回的值,就像在多行选择的地方一样,但它只会返回一行,您仍然需要这样做,因为它返回的是一个数组。

关于php - 通过链接在新页面上显示 mysql 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42099815/

相关文章:

php - MySQL PDO - try { block } 里面应该有什么?

php - MySQL 行数据到 PHP 数组键/值

mysql - 卡在具有多种表的数据库结构中

php - 在PHP中将 'while'中的 'foreach'改为 'mysql_fetch_row'

php - 通过公共(public)互联网安全发送数据的替代方法

php - Mysql - 在一个查询中为每个 id 选择四行

MySQL : Max value of combined columns

mysql - 重复 key 更新 - 找到保留字

php - jquery 自动完成 php 错误 404

php - PHP不显示MySQLi查询结果