我正在尝试将我从数据库收到的值传递给另一个php页面,以便在另一个SQL语句中使用。 我已尝试使用会话,并在另一页上使用$ _POST方法传递,但没有运气。
以下是我的代码片段循环显示所有记录:
while($row = mysqli_fetch_array($sql)){
echo '<td>
<img src='.'"'.$row['image'].'"'.'><br/>
<form method="post" action="edit-record.php">
<input type="text" name="imgID" value='.'"'.$row['id'].'"'.'>
<input type="submit" value="Edit" id="edit_btn" class="admin_btn"></form>
</td>';
}
我需要的值是每张特定图片的ID - $row['id']
。
当用户单击“编辑”按钮时,应将它们重定向到另一个仅显示特定记录的页面。这就是为什么我需要将传递给下一页的ID插入到查询语句中。
我希望这是有道理的,任何帮助都将受到高度赞赏。
更新:感谢您的所有帮助。我通过玩一些你的建议来解决这个问题,通过GET在表单的动作中传递id。
<form method="post" action="edit-record.php?id='. $row['id'].'">
不知道为什么我没有发生这种情况!再次感谢。
答案 0 :(得分:3)
while($row = mysqli_fetch_array($sql)){
echo '<td>
<img src="'.$row['image'].'"><br/>
<form method="post" action="edit-record.php">
<input type="text" name="imgID" value="'.$row['id'].'">
<input type="submit" value="Edit" id="edit_btn" class="admin_btn">
</form>
</td>';
}
在edit-record.php ...
<?php
echo $_POST['imgID'];
?>
没有理由你的代码在技术上不起作用,而是你可以删除表单并使用简单的链接......
while($row = mysqli_fetch_array($sql)){
echo '<td>
<img src="'.$row['image'].'"><br/>
<a href="edit-record.php?id='.$row['id'].'">edit</a>
</td>';
}
并在edit-record.php ...
<?php
echo $_GET['id'];
?>
答案 1 :(得分:0)
4种方法......
1)使用cookie 2)使用会话(默认情况下使用cookie但以不同的方式) 3)使用cURL 4)将其添加到GET参数...即。 somepage.com/page.php?id=1
答案 2 :(得分:0)
奇怪的串联
<input type="text" name="imgID" value="'.$row['id'].'">
确定你在mysql查询上选择id ???
如果你做
echo $_POST['imgID'];
结果是什么???
您可以通过以下操作形式传递ID:
<form method="post" action="edit-record.php?id='. $row['id'].' ">
在另一页上,您可以在$ _POST中查看表单,并在$ _GET [&#39; id&#39;]中找到ID
答案 3 :(得分:0)
没关系,这不是你的问题,但我已经写出来了,所以我会离开它。看看这些报价有多清洁:)
像这样切换你的报价:
echo "<td>
<img src='{$row['image']}'><br/>
<form method='post' action='edit-record.php'>
<input type='text' name='imgID' value='{$row['id']'}'>
<input type='submit' value='Edit' id='edit_btn' class='admin_btn'></form>
</td>";
需要数组元素周围的花括号(例如{$row['id']}
)