PHP:将ID发送到HTML按钮以查看数据库行

PHP:将ID发送到HTML按钮以查看数据库行,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个页面,其中包含一个HTML表,该表显示使用MySQLi保存到PHP数据库的数据。每个事件都有一个唯一的ID,当一个新事件添加到数据库中时,该ID会自动增量生成。每行上都有一个视图按钮,单击该按钮将打开一个新页面,仅显示该特定事件的详细信息: $result = mysqli_query($con,"SELECT * FROM events"); echo "<table border='1'> <tr> <th>ID&

我有一个页面,其中包含一个HTML表,该表显示使用MySQLi保存到PHP数据库的数据。每个事件都有一个唯一的ID,当一个新事件添加到数据库中时,该ID会自动增量生成。每行上都有一个视图按钮,单击该按钮将打开一个新页面,仅显示该特定事件的详细信息:

$result = mysqli_query($con,"SELECT * FROM events");

    echo "<table border='1'>
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Description</th>
    </tr>";

    while($row = mysqli_fetch_array($result))
    {
        echo "<tr>";
        echo "<td>" . $row['id'] . "</td>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['description'] . "</td>";
        echo "<td><a href='#'' class='btn btn-warning btn-sm'>View</a></td>";
        echo "</tr>";
    }
    echo "</table>";
$result=mysqli_query($con,“SELECT*FROM events”);
回声“
身份证件
名称
描述
";
while($row=mysqli\u fetch\u数组($result))
{
回声“;
回显“$row['id']”;
回显“$row['name']”;
回显“$row['description']”;
回声“;
回声“;
}
回声“;

问题是,我不确定如何将DB中特定行的ID发送到按钮,以便它告诉查看页面仅显示所单击事件的详细信息。

一种方法可能是这样

echo "<td><a href='#'' onclick=\"requestDetailsPage(".$row['id'].");\" class='btn btn-warning btn-sm'>View</a></td>";
echo”“;
然后,您将实现一个javascript函数,该函数执行从服务器请求详细信息所需的任何操作,无论是重定向到details.php?id=[your id]还是执行某种ajax操作,等等

编辑:一个更简单的解决方案可能是根本不使用按钮。像这样:

echo "<td><a href='details.php?id=".$row['id']."' target=\"_blank\"  class='btn btn-warning btn-sm'>View</a></td>";
echo”“;
谢谢

它工作得很好。在details.php中,它的代码与events.php几乎相同。唯一的区别是:

$result = mysqli_query($con,"SELECT * FROM events WHERE id = '".$_GET['id']."'");

是的,第二个解决方案发送带有URL的ID。因此,要在“details.php”页面中访问此内容,是否可以使用$_GET['id']??请阅读SQL注入和清理输入。您添加的答案不会进行任何清理,而且很容易弄乱数据库