我创建了一个简单的查询,用于从我的数据库中检索记录并将其传递给 html。我想为每一行添加一个编辑/查看按钮,所以经过一些研究,我最终得到了这个:
$query = mysqli_query($con, "SELECT * FROM mytable") or die(mysqli_error($con));
if(mysqli_num_rows($query) > 0) {
while($row = mysqli_fetch_array($query)) {
echo "<tr><td>".$row['pId']."</td>";
echo "<td>".$row['data1']."</td>";
echo "<td>".$row['data2']."</td>";
echo "<td><form action='detailform.php' method='POST'><input type='hidden' name='tempId' value='".$row["pId"]."'/><input type='submit' name='submit-btn' value='View/Update Details' /><form></td>";
}
}
这适用于 1 条记录。但如果我有 2 个或更多,则无论您选择了哪条记录,总是会检索到最新记录。例如,如果您有 5 条记录并且您选择任何一条记录,第 5 条记录将始终被选中,因此我无法更新以前的记录。为什么会这样?我错过了什么吗?
不确定这是否对我的情况有帮助,但这是我的 detailform.php 的基本逻辑:
if(isset($_POST["tempId"]){
//pass data using post then update. Here's where I keep getting only the latest record regardless of selected record from previous page
} else { //add data }
最佳答案
关闭表单:
echo "<td><form action='detailform.php' method='POST'><input type='hidden' name='tempId' value='".$row["pId"]."'/><input type='submit' name='submit-btn' value='View/Update Details' /></form></td></tr>";
第一个发送正确,因为它最接近提交按钮,其余的将更接近最后一个提交按钮
关于php - 向表格的每一行添加编辑按钮以在 PHP 中更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21527946/