繁体   English   中英

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

[英]Allow user to select specific row of sql select results?

不知道这是否有可能,如果这是一个愚蠢的问题,请抱歉。 我有一个SQL选择查询,我将在下面发布。 它在我的订单数据库表的表中显示5个字段。 用户可以通过任何方式单击其中一行,然后将其带到仅显示该行结果的新页面吗? 是否可以将选择查询结果存储到会话中供我在下一页上调用? 我希望他们能够以这种方式打印发票。 这是选择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();

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

扩展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值时,这是必需的(否则恶意用户可能会破坏您的数据库!)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM