PHP MYSQL表行单击以显示数据的详细信息

时间:2017-07-17 02:15:59

标签: php html mysql

我在点击表格行<tr>时尝试显示数据的更多详细信息。但我不知道如何实现它。这是我的代码

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "hotel_dir";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT hotel_img, hotel_name, hotel_address, hotel_phone FROM hotel";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tr><td><img src=".$row["hotel_img"].
        "></td><td>".$row["hotel_name"].
        "<br />".$row["hotel_address"].
        "</td><td>".$row["hotel_phone"].
        "</td></tr>";
    }
    echo "</table>";
} else {
    echo "0 results";
}
$conn->close();
?>

这是图像。 hotel list

问题是,我试图将它传递给hotel.php,显示点击表格行时酒店的更多细节。

1 个答案:

答案 0 :(得分:0)

您的hotel表格中必须有一个Id字段,您可以将其包含在内,并有一个锚标记链接到具有此ID的其他页面, 实际上是这样的事情:

对于SQL语句:

对于SQL语句,您选择id和您之前已选择的字段,因为通常id是表中的唯一列,您可以获取一行的详细信息并显示指定ID的所有详细信息。

在此页面中,您的sql语句应更改为:

$sql = "SELECT id,hotel_img, hotel_name, hotel_address, hotel_phone FROM hotel";

并且在detail.php页面中你的SQL语句必须是这样的(当然我没有考虑安全性):

$sql = "SELECT * FROM hotel where id=".$_GET['id'];

表格: 在这里,我刚刚添加了a标记调用detail.php文件,其中包含参数id,您可以在details.php中获取显示详细信息

echo "<tr>
   <td><a href="http://yoursite.dev/detail.php?id=".$row["id"]>See Details</a></td>
   <td><img src=".$row["hotel_img"]."></td>
   <td>".$row["hotel_name"].
      "<br />".$row["hotel_address"].
      "
   </td>
   <td>".$row["hotel_phone"].
      "
   </td>
</tr>";

detail.php文件中,您获得id参数$_GET['id'],并显示指定id的更多详细信息