php编辑表单,获取下拉列表以获取该记录的值

时间:2014-02-26 03:04:06

标签: php

我有两个表单,一个是我输入记录,一个是我编辑记录。

在我添加记录的表单上,我有一个下拉列表,它在数据库中查询另一个表中的值。

当我点击“编辑”记录表格来编辑这些数据时,我无法在下拉列表中预先选择已输入的值。

 <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>&nbsp;</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>&nbsp;</td>
 </tr>
 </table>
 <?php
 // close connection 
 mysql_close();
  ?>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

假设您在编辑表单时按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>';