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