我目前有一个数据库,行中的位置不同,每个位置都有一个ID,一个名称和一张图片。

我正在尝试创建一个while循环,为每个地方吐出一个带有提交输入和div作为其标签的表单。我希望每种形式输出每个对应的placeId。我尝试使用<input type='text' id='PlaceIdInput' name='PlaceIdInput' value='$PlaceId'>进行此操作,但是很快发现即使单击第2或3位,它只会输出第一个PlaceId为1。

我猜这是因为它们都具有相同的输入名称,这很不好。

抱歉,如果我使用了错误的术语,我还在读高中,而英语是我的第二语言。非常感谢您的支持! :D

while($ rad = $ resultat-> fetch_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>
");


}

if(isset($ _ POST [“ Place”])){

$PlaceIdInput = $_POST["PlaceIdInput"];

$sql = "UPDATE User SET UserCurrentPlace='$PlaceIdInput' WHERE UserId='$UserId'";
if($kobling->query($sql)){
}
else {
    echo($kobling->error);
}


}

最佳答案

问题是我为多个输入使用了相同的ID。因此,标签选择了第一个输入而不是其对应的输入。通过将id ='PlaceInput $ PlaceId'和标签for ='PlaceInput $ PlaceId'轻松地解决了该问题。

关于php - PHP是否可以在while循环中为每个POST表单发送唯一值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51936561/

10-12 00:58