允许用户选择特定行的sql select结果?

时间:2015-02-06 09:21:51

标签: php sql

如果这是一个愚蠢的问题,不确定这是否可能。我有一个sql select查询,我将在下面发布。它从我的订单数据库表中将5个字段显示在表中。有没有什么方法可以让用户点击其中一行然后将它们带到一个只显示该行结果的新页面?是否有可能将选择的查询结果存储到会话中供我在下一页调用?我希望他们能够以这种方式打印发票。这是select sql代码。

$sql = "SELECT id, login_id, companyname, address, cost FROM orders WHERE   `login_id` = '$_SESSION[login]'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table><tr><th>id</th><th>login_id</th><th>companyname</th>tr><th>address</th><th>cost</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "<tr><td>".$row["id"]."</td><td>".$row["login_id"]."</td><td>".$row["companyname"]."</td><td>".$row["address"]."</td><td>".$row["cost"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();

2 个答案:

答案 0 :(得分:1)

只需保存第一列(ID)的值即可。然后将它用于仅选择此行的新查询。

答案 1 :(得分:0)

扩展i486的答案,以下是如何更详细地实现它:

由于您已经拥有$row["id"],因此您可以使用它来生成链接:

echo "<a href='newpage.php?id=".$row["id"]."'>Click here</a>";

现在位于 newpage.php

// You can access parameters in the url using GET
$id = $_GET["id"];

// Now you can build a new SQL query using this $id, and echo the results table

请查看以下内容:

  • REST:这解释了GET和POST如何工作
  • 准备好的SQL语句:这将阻止SQL注入,并且当您在SQL查询中使用GET或POST值时需要它(其他恶意用户可能会破坏您的数据库!)