我现在有一个数据库,不同的地方作为我的行,每个地方都有一个id,一个名字和一张图片。
我尝试创建一个while循环,为每个地方吐出一个表单,其中一个submit输入和一个div作为它的标签。我希望每个表单输出每个对应的placeid。我试过和你一起做 <input type='text' id='PlaceIdInput' name='PlaceIdInput' value='$PlaceId'>
,但很快就发现它只输出第一个placeid为1,即使我单击了位置2或3。
我想这是因为他们都有相同的输入名,这是不好的。
对不起,如果我用错了术语,我还在读高中,英语是我的第二语言。我真的很感谢你的支持!:d
while($rad=$resultat->fetch\u assoc()){
$PlaceId=$rad["PlaceId"];
$PlaceName=$rad["PlaceName"];
$PlacePicture=$rad["PlacePicture"];
echo("
<form method='POST'>
<input id='PlaceInput' type='submit' name='Place' value='Place'>
<label for='PlaceInput'>
<div class='PlaceDiv'>
<p class='PlaceName'>$PlaceName</p>
<div class='ImageDiv'>
<img class='Image' src='$PlacePicture'>
</div>
</div>
</label>
<input type='text' id='PlaceIdInput' name='PlaceIdInput' value='$PlaceId'>
</form>
");
}
如果(isset($\u post[“place”])){
$PlaceIdInput = $_POST["PlaceIdInput"];
$sql = "UPDATE User SET UserCurrentPlace='$PlaceIdInput' WHERE UserId='$UserId'";
if($kobling->query($sql)){
}
else {
echo($kobling->error);
}
}
1条答案
按热度按时间tgabmvqs1#
问题是我对多个输入使用了相同的id。因此,标签选择了第一个输入而不是相应的输入。通过将id='placeinput$placeid'和标签改为='placeinput$placeid',可以很容易地解决这个问题。