我有一个循环并提交表单。我想从变量中插入一个查询但是当我点击提交按钮时,最后一个(id号)变量插入到数据库中,当我移动$_POST['submit']
部分时,所有ID的插入到数据库中。如何从循环插入其中一个变量?
这是暂时的部分:
<?php
$supql="SELECT * FROM `tbl_users_posts`";
$rez=mysqli_query($conn,$supql);
while ($row=mysqli_fetch_assoc($rez)) {
$psid=$row['id'];
echo $row['post'];
?>
<form id="form1" name="form1" method="post">
<input type="submit" name="submit" id="submit" value="Submit">
</form>
<?php } ?>
这是提交部分:
if (isset($_POST['submit'])) {
$pid=$_POST['postid'];
$inslik="INSERT INTO t_plik (pid,uid)VALUES('$psid','$uid')";
mysqli_query($conn,$inslik);
}
感谢
<?php
$conn=mysqli_connect('localhost','root','','sitn');mysqli_set_charset($conn,"utf8");
$supql="SELECT * FROM `tbl_users_posts`";
$rez=mysqli_query($conn,$supql);
while ($row=mysqli_fetch_assoc($rez)){
$psid=$row['id'];
echo $row['post'];
?>
<form id="form1" name="form1" method="post">
<input type="hidden" name="postid" value="<?php echo $psid; ?>">
<input type="submit" name="submit" id="submit" value="Submit">
</form>
<?php }?>
<?php
if(isset($_POST['submit'])){
$pid=$_POST['postid'];
$inslik="INSERT INTO t_plik (pid,uid)VALUES('$psid','$uid') ";
mysqli_query($conn,$inslik);
}?>
答案 0 :(得分:2)
您的表单没有name="postid"
的输入,因此未设置$_POST['postid']
。你可以用隐藏的输入发送它。
<form id="form1" name="form1" method="post">
<input type="hidden" name="postid" value="<?php echo $psid; ?>">
<input type="submit" name="submit" id="submit" value="Submit">
</form>
表单仍应位于while
循环中,因此您将为每个帖子获取单独的表单。
您在插入的代码中也有拼写错误:
$pid=$_POST['postid'];
应该是:
$psid=$_POST['postid'];
所以你没有插入提交的ID。