php - 从 MySQL 数据库预填充下拉列表和文本区域时出现问题

标签 php mysql html-select

我能够使用以下代码成功预填充我的问题: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/

相关文章:

php - 如果页面通过 https 加载,Laravel 使用 url() 或 Route() 来提供 https URL

jquery - find ('option[selected]' ) 和 find ('option' ).filter ('[selected]' ) 之间的区别

typescript - Bootstrap Vue 阻止/取消事件

HTML <select> 属性大小 ="0"与大小 ="1"

php - 根据用户选择对 MySQL 表行进行排序的最佳方法是什么?

php - laravel 无法识别 ISO8601 格式的日期时间

php - XAMPP OSX Lion 让邮件工作

php - 通过 MySQL 的全日历动态事件颜色

php - 如果 columnName = float,则返回空结果集

mysql - 尝试删除大于 25 的记录?