我的代码有一个小问题。我正在使用 fetch_assoc 从数据库获取数据,并且需要获取每个返回值的 ID 号。问题是我的代码只返回最后一个数据的ID号。这是我的代码:
<form method="post" action="action.php">
<select name="album" style="border:1px solid #CCC; font-size:11px; padding:1px">
<?php
$sql = "SELECT * FROM table";
$stmt = $dbh -> prepare($sql);
$stmt -> execute();
while($row = $stmt -> fetch(PDO::FETCH_ASSOC))
{
$album_ID = $row['album_ID'];
$value = $row['album_name'];
print "<option value ='". $value ."'>". $value. "</option>";
}
?>
</select>
<input type="hidden" name="album_ID" value="<?php print $album_ID?>"/>
</form>
我希望隐藏输入类型保存选定的专辑ID,但它始终保存最后数据的专辑ID。
你最好的选择是将 id 放入选项的值中
....
while($row = $stmt -> fetch(PDO::FETCH_ASSOC))
{
$album_ID = $row['album_ID'];
$value = $row['album_name'];
print "<option value ='". $album_ID ."'>". $value. "</option>";
}
....
然后在提交脚本(admin.php)上,POST变量
album
将包含ID,不需要隐藏输入
隐藏字段将始终包含最后获取的行的 ID。
我想要隐藏的输入类型 保存选定的专辑 ID,但它 始终保存最后一个专辑ID 数据。
要实现此目的,您必须使用 JavaScript 在选择框的更改事件上设置隐藏字段的值。