【问题标题】:PHP - Onclick display specific table row based on matched idPHP - Onclick 根据匹配的 id 显示特定的表行
【发布时间】:2017-10-01 23:23:20
【问题描述】:



我目前正在为学校作业开发“应用程序”。这个“应用程序”处理测试。因此,员工可以登录并选择客户、注册客户并与客户进行测试。所有这些都必须存储在数据库中。

我正处于员工登录工作的位置,您可以注册一个客户。所有这些都存储在数据库中。

现在我被困在员工对数据库中客户的名字和姓氏的概述上。员工可以单击客户端,然后所有信息都会显示在客户端列表旁边。可悲的是我无法让这个工作。在尝试搜索至少 12 小时后,搜索我刚刚搜索的内容并进行更多搜索。

旁注: 我是 PHP 和 MySQL 的新手。

我将包含指向它应该如何以及我在哪里尽可能透明的链接!

我尝试过的事情:

<?php while (mysqli_num_rows($resultId)) {
  $id = $row['id'];
  if (mysqli_query("SELECT * FROM clienten_info WHERE id=$id")) {
    echo "alle informatie van die id";
  } else {
    return false;
  }
}?>

我尝试使用以下代码单击 onclick:

<?php function checkID() {
  $resultCheck = mysqli_query("SELECT * FROM clienten_info WHERE id ='$uniqueId'");
   if(mysqli_num_rows($resultCheck) == 1) {
       $row = mysqli_fetch_array($resultCheck);
        $goed = "goooood";
   } else {
       $fout = "geen gegevens gevonden";
   }
}?>

<?php $resultCheck = mysqli_query("SELECT * FROM clienten_info WHERE id ='$uniqueId'");
  if (mysqli_num_rows($resultCheck) > 0){
    $row = mysqli_fetch_assoc($resultCheck);
    echo "naam:" . $row['firstname'];
  } else {
    echo "fout";
  }?>

还有一些。

我的完整源代码:
https://pastebin.com/Nz1VNDxE(做了pastebin,因为代码很长,但想让所有代码都透明)

图片
http://pho.to/AgdSN
应该如何(上图)
留下的客户 正确的客户信息
现在的样子(下图)

如您所见,左侧是使用数据库中的信息归档的,当您单击其中一个名称时,您应该在右侧获得所有详细信息。

【问题讨论】:

  • mysqli_query( 在您使用它时不起作用。您需要传递连接对象。您也对 SQL 注入持开放态度。您可以隐藏页面上的数据并让 JS 在单击时显示它。我也不清楚你在哪一点上失败了。
  • 在我从数据库中回显客户端的部分中,我希望每个客户端都有一个点击功能。例如,当我单击第二个客户端时,它的所有信息都会弹出。但我似乎无法解决这个问题..
  • 我不知道你当前的问题在哪里..你是在使用表单、AJAX、将数据隐藏在 DOM 中等等。
  • 我使用的是表单,而不是 AJAX。我用 jQuery css 属性显示了这个表单,从显示无到显示块。问题是我不知道如何通过单击唯一客户端来管理从数据库中检索特定数据。对不起我糟糕的解释!

标签: javascript php html mysql database


【解决方案1】:

在搜索更多内容后,我发现有人发布了相同内容的表单。提供给他的解决方案并不完全适合我,但我确实设法让它发挥作用。

这是表格的链接:https://www.daniweb.com/programming/web-development/threads/259091/on-click-display-only-particular-user-details

所以我所做的是使用 iframe 加载第二个页面。这个 iframe 我放置在我想显示用户详细信息的地方。

从数据库中检索用户数据的页面包含以下代码:

        $sqllijst         =       "SELECT id, firstname, preposition, lastname FROM clienten_info";
        $result           =       mysqli_query($connection, $sqllijst);



        if (mysqli_num_rows($result) > 0) {
             while($row = mysqli_fetch_assoc($result)) {
               $uniqueId = $row['id'];
               echo "<a name='$uniqueId' href='details.php?id=".$row['id']."' target='clienten-details'>" . $row['lastname'] . " " . $row['preposition'] . "," . " " . $row['firstname'] . "</a>";

             }
        }

       ?>`

因此,这将为用户提供指向其唯一 ID 的链接。详细信息页面仅包含一个表和一个到数据库的连接,以便可以检索信息。

还通过$_GET 命令,我设法获取了该用户的具体详细信息。

`

$sqldisplay = "SELECT * FROM clienten_info WHERE id=$_GET[id]";
$resultdisplay = mysqli_query($connection, $sqldisplay);
$row = mysqli_fetch_array($resultdisplay);

所以这段代码将连接数据库。我唯一要做的就是一个简单的 $row['yourDatabaseNames'] 来显示特定 ID 行的内容。

希望我能帮助遇到同样问题的人。我想会有更有效的方法来获得相同的结果。如果是这种情况,请告诉我,因为我真的很想知道!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2019-09-14
    相关资源
    最近更新 更多