我能够使用以下代码成功预填充我的问题:First Name: <input type="text" name="first_name" size="30" maxlength="20" value="' . $row[2] . '" /><br />
但是,当我尝试对下拉框和文本区域框执行相同操作时,即使数据库中有实际内容,也不会从数据库中预先填充任何内容。这是我分别用于下拉菜单和文本区域的代码:
<?php
echo '
<form action ="edit_contact.php" method="post">
<div class="contactfirstcolumn">
Prefix:
<select name = "prefix" value="' . $row[0] . '" />
<option value="blank">--</option>
<option value="Dr">Dr.</option>
<option value="Mr">Mr.</option>
<option value="Mrs">Mrs.</option>
<option value="Ms">Ms.</option>
</select><br />';
?>
并且
Contact Description:<textarea id = "contactdesc" name="contactdesc" rows="3" cols="50" value="' . $row[20] . '" /></textarea><br /><br />
值得注意的是,我没有收到任何错误。表单加载正常,但没有下拉列表和文本区域字段的数据。
谢谢! 托尼
最佳答案
Select doesn't work that way .
如果你想预先填充选择,你可以尝试这样:
$predata = array(
'blank' => '--',
'Dr' => 'Dr.',
'Mr' => 'Mr.',
'Mrs' => 'Mrs.',
'Ms' => 'Ms.',
);
echo "<select name='prefix'>";
foreach($predata as $value => $label){
echo "<option value='$value' ".($value == $row[0] ? 'selected="selected"' : '').">$label</option>";
}
echo "</select>";
关于php - 从 MySQL 数据库预填充下拉列表和文本区域时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2542556/