我想编辑一个从表中查找值的下拉字段。通常,在html中编辑下拉选项我们使用类似:
<option value="montserrado" <?php if($ncounty == "montserrado") { echo "selected=\"selected\""; } ?>>Montserrado</option>
但是一旦下拉列表值来自表格,此方法对我不起作用。
答案 0 :(得分:0)
以编程方式创建下拉列表将是最佳选择。
类似的东西:
<?php
$options = array('item1','item2','item3','etc');
$select = null;
?>
<select name="field">
<?php
foreach($options as $value) {
if($value == "montserrado") {
$select = " selected";
} else $select = "";
echo "<option$select>$value</option>";
}
?>
</select>
如果您的字段在表格中,那么您将更改通过调用数据库生成的$options
数组。
例如使用mysql和zend:
$dbcondetails = array('host' => 'dbhost', 'port' => '3306',
'dbname' => 'dbname', 'username' => 'user', password' => 'superpw');
$db = Zend_Db::factory('PDO_msyql', $dbcondetails);
$sql = 'select field from table';
$options = $db->fetchAll($sql);
此示例忽略了php catch可以执行的所有良好错误检测,可以找到有关使用Zend_db_Adapter的信息here。
您可以在将数据写回数据库之前编辑生成的$_POST
数据。
HTH