无法预先填充MySQL数据库中的下拉列表和textarea

时间:2010-03-30 02:43:58

标签: php mysql html-select

我可以使用以下代码成功预先填充我的问题:First Name: <input type="text" name="first_name" size="30" maxlength="20" value="' . $row[2] . '" /><br />

但是,当我尝试对下拉框和textarea框执行相同操作时,即使数据库中存在实际内容,也不会从数据库中预先填充任何内容。这是我分别用于下拉和textarea的代码:

<?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 />

重要的是要注意我没有收到任何错误。表单加载正常,但没有下拉和textarea字段的数据。

谢谢! 贝

1 个答案:

答案 0 :(得分:1)

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>";