在我的代码中,我使用while循环从数据库中检索数据,以便可以将所有$FormData['fullname']包含在数据库中。

我想做的是,每个名称都显示在页面上,并且也可以单击,因此当某人单击名称时,它会获取其user_id并提取有关它们的信息。

我遇到的问题是我无法找出一种制作方法,因此当用户单击名称时我可以在哪里获取user_id。我尝试将"name"放在button属性中,并检查了isset()是否有效。

如果某人可以正确地找到一种基本的方式,请在我的数据库中显示所有fullnames,并且当某人单击名称时,它会拉出存储在数据库中的有关他们的信息。这是我的代码



$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 loop内的按钮,我不会说这是一种不好的方法,但是我建议您不要这样做。从您的代码中,我可以看到您对postget的了解不足,他们要求向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/

10-14 14:56
查看更多