我创建一个表并以简短的表报告格式显示来自 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/