Php 在mysql中设置基于记录更新的forms元素

Php 在mysql中设置基于记录更新的forms元素,php,javascript,html,Php,Javascript,Html,我有一个PHP脚本,用于加载MYSQL数据库表中的用户记录 此数据库表包含来自站点的其他评论,因为它只是一个评论表 每个评论或条目都会收到自己独特的ID 一旦用户加载了他/她的评论。我在加载页面的表上有一个按钮,允许他们更新特定记录 不知何故,我需要能够从mysql数据库传递唯一的ID(可能通过按钮?),并将其放入表单上的隐藏字段中 然后,当用户单击“提交”并更新与该唯一id关联且没有其他记录的记录时,表单将提交 我已经连续几个小时试图找出这个问题的逻辑解决方案,但没有成功(显然)。我希望这是我

我有一个PHP脚本,用于加载MYSQL数据库表中的用户记录

此数据库表包含来自站点的其他评论,因为它只是一个评论表

每个评论或条目都会收到自己独特的ID

一旦用户加载了他/她的评论。我在加载页面的表上有一个按钮,允许他们更新特定记录

不知何故,我需要能够从mysql数据库传递唯一的ID(可能通过按钮?),并将其放入表单上的隐藏字段中

然后,当用户单击“提交”并更新与该唯一id关联且没有其他记录的记录时,表单将提交

我已经连续几个小时试图找出这个问题的逻辑解决方案,但没有成功(显然)。我希望这是我所需要的足够具体的,任何帮助/建议都将不胜感激!谢谢大家!

这是我的密码:

这是在页面上加载评论的php脚本。

<?php
  $con=mysqli_connect("");
  // Check connection
  if (mysqli_connect_errno())
  {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM comments
        WHERE email='$_SESSION[email]' ORDER BY dt");

echo "<table cellpadding='5' cellspacing='5' border='1' width='auto'>
    <tr>
    <td colspan='5' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center;'>The Green Panda</td> 
                                                  </tr>
<tr>                                                                   <td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #96b759; color: white;'>Date</td>
                                                <td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #96b759; color: white;'>Email</td>
                                                <td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #96b759; color: white;'>Review</td>
                                                <td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #96b759; color: white;'>Update</td>
                                            </tr>";

                                while($row = mysqli_fetch_array($result))
                                  {
                                      echo "<tr>";
                                      echo "<td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #758F45; color: white;'>" . $row['dt'] . "</td>";
                                      echo "<td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #758F45; color: white;'>" . $row['email'] . "</td>";
                                      echo "<td colspan='2' style='padding-right:15px; padding-bottom:5px; border:1px solid black; text-align:center; vertical-align:center; background-color: #758F45; color: white;'>" . $row['body'] . "</td>";
                                      echo "<td colspan='2' style='padding-right:15px; padding-bottom:5px; padding-left: 10px; border:1px solid black; text-align:center; vertical-align:center; background-color: #758F45; color: white;'><input type='button' value='Update' onclick='showDiv()'/></td>";
                                      echo "</tr>";
                                  }
                                      echo "</table>";
                                ?>

在PHP中,将当前记录的id注入每个按钮,如下所示:

<input type='button' value='Update' onclick='showDiv(" . $row['id'] . ")'/>
您需要将此值传递到id元素中。将id属性添加到输入中:

<input id="recId" type="text" name="id" value="" readonly>

如果确实希望它是一个隐藏元素,请不要使用“type=”text“。相反,请使用“type=“hidden””

您将得到以下结果:

<input id="recId" type="hidden" name="id" />

!非常感谢你。但我必须想一想,为什么我不能想到这个。。。。。
function showDiv(recId) {
    //recId is my record id, I can use it now!
    //....more javascript here that does stuff

    //access the input element that you want to put the record id into
    var recordIdElement = document.getElementById("recId");

    //finally, update its value to this new recId that was passed in
    recordIdElement.value = recId;
}
<input id="recId" type="text" name="id" value="" readonly>
<input id="recId" type="hidden" name="id" />