我有2个表单,一个用于输入记录,另一个用于编辑记录。
在我添加记录的表单上,我有一个下拉列表,它在数据库中查询另一个表中的值。
当我单击“编辑”记录表单来编辑此数据时,我无法在下拉列表中获得已经输入的值。
<select name="aankomstluchthaven">
<option name="aankomstluchthaven" value="">--Select--</option>
<?php
$list=mysql_query("select luchthavenID, luchthavencode from tbl_luchthaven
order by luchthavencode ASC");
while($row_list=mysql_fetch_assoc($list)){
?>
<option value="<?echo $row_list['luchthavenID']; ?>"> <?echo
$row_list['luchthavencode']; ?> </option>
<?
}
?>
</select>
正在更新的领域是'aankomstluchthaven'。因此,应填充表格中存储表单数据的值(tbl_vluchtgegevens)。其中tbl_luchthaven.luchthavenID = tbl_vluchtgegevens.aankomstluchthaven
我尝试输入选项值,但这不是我想要的。
编辑以包含带下拉列表的示例php页面(注意,我已经从上面示例中的aankomstluchthaven更改为下面示例中的vertrekluchthaven。同样的事情适用。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>bijwerk vluchtgegevens Form</title>
</head>
<body>
<? include "datalogin.php";//database connection
$order = "SELECT *
FROM tbl_vluchtgegevens
WHERE gegevenID='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>
<table border=1>
<tr>
<td width="547" align=center>bijwerk vluchtgegevens: <br>
gegevenID = <? echo "$row[gegevenID]"?></td>
<td width="547" align=center> </td>
</tr>
<tr>
<td>
<table>
<form method="post" action="bijwerkvlucht_post.php">
<input type="hidden" name="id" value="<? echo "$row[gegevenID]"?>">
<tr>
<td width="208">Vertrekluchthaven </td>
<td width="325">
<select name="vertrekluchthaven">
<option name="vertrekluchthaven" value="">--Select--</option>
<?php
$list=mysql_query("select luchthavenID, luchthavencode from tbl_luchthaven order by luchthavencode ASC");
while($row_list=mysql_fetch_assoc($list)){
?>
<option value="<?echo $row_list['luchthavenID']; ?>"> <?echo
$row_list['luchthavencode']; ?> </option>
<?
}
?>
</select>
</td>
</tr><tr>
<td align="right">
<input type="submit"
name="submit" id="submit" value="Submit"> </td>
</tr>
</form>
</table> </td>
<td> </td>
</tr>
</table>
<?php
// close connection
mysql_close();
?>
</body>
</html>
假设您在编辑表单时通过id或其他任何值获取值,您可以执行以下操作:
<option value="<?echo $row_list['luchthavenID']; ?>" <? echo ($row['luchthavenID'] == $row_list['luchthavenID'] ? ' selected="selected"' : ''); ?>> <?echo $row_list['luchthavencode']; ?> </option>
每次循环时,都会根据查询中提取的值检查值。如果匹配,则选择此选项。
更新我仍然不知道你的字段被称为什么,但假设它是$row['luchthavenID']
我会这样写:
echo '<option value="'.$row_list['luchthavenID'].'"'.($row['luchthavenID'] == $row_list['luchthavenID'] ? ' selected="selected"' : '').'>'.$row_list['luchthavencode'].'</option>';