在我的代码中,我使用 while 循环从数据库中检索数据,这样我就可以在数据库中拥有所有 $FormData['fullname']
。
我想要做的是,让每个名字都显示在页面上,并且可以点击,这样当有人点击一个名字时,它就会获取他们的user_id
并提取有关他们的信息。
我遇到的问题是,我无法找到一种方法来制作它,以便当用户单击名称时我可以在哪里获取user_id
。我尝试在按钮属性中放入 "name"
并检查 isset()
是否有效,但这不起作用。
如果有人能够正确地找到一种方法,让我基本上显示数据库中的所有全名
,并且当有人单击某个名称时,它会提取存储在数据库中的有关他们的信息。这是我的代码
$stmtGet = $handler->prepare("SELECT * FROM formdata");
$stmtGet->execute();
while($formData = $stmtGet->fetch()){
echo "<button name='name'>$formData[fullname]</button>";
if($_SERVER['REQUEST_METHOD'] =="POST"){
if(isset($_POST['name'])){
echo "ok";
}else{
echo "bad";
}
}
}
最佳答案
据我所知,您正在尝试按 while 循环内的按钮
,我不会说这是一个不好的方法,但我建议您不要这样做。从您的代码中我可以看到您缺乏对 post
和 get
请求的理解,请向 here 学习。 。除此之外,您还需要了解网址的转换。它实际上是如何运作的。不管怎样,我已经给出了一个示例代码,没有 .我希望它能帮助您理解这个概念。
$stmtGet = $handler->prepare("SELECT * FROM formdata");
$stmtGet->execute();
while($formData = $stmtGet->fetch(PDO::FETCH_ASSOC)){
$id = $formData['formdataid'];
echo "<a href='somepagename.php?infoid={$id}'>". $formData['fullname']."</a></br>";
}
现在在 somepagename.php 文件或同一页面中,您实际上可以显示详细信息,例如
if(isset($_GET['infoid'])){
$stmt = $handler->prepare("select * from formdata where formdataid='"$_GET['infoid']"'");
$qry = $stmt->execute();
$row = $qry->fetch(PDO::FETCH_ASSOC);
echo "<p>id =".$row['formdataid']."</p></br>";
echo "<p>id =".$row['name']."</p></br>";
echo "<p>id =".$row['email']."</p></br>";
echo "<p>id =".$row['address']."</p></br>";
代码未执行,可能有分号或逗号错误警告。你必须自己解决这些问题。上面的示例仅向您展示了它的工作方式。 如果仍有问题,请询问,或参阅 documentation
关于javascript - 单击回显的 html 代码时,PHP 从数据库获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48781367/