【发布时间】:2013-02-12 03:33:53
【问题描述】:
我正在创建一个客户帐户页面,该页面显示数据库中的相关信息并允许客户编辑他们的信息。
以下代码从数据库中检索并显示客户的帐户信息,并预先选择正确匹配其信息的值。我的问题是特定于 Select 元素的——不是从现有的选择选项中进行选择,而是在数据库中添加一个带有值的额外选择选项,以便数据库中的值显示两次。
编辑 - 例如,如果“gift_privacy”的 db 值为“标准”,则选择选项将显示为:*标准、标准、礼物 ID Req、Not_Enrolled* 而不是 *标准、礼品 ID 要求、未注册*
如何更正此代码以便将selected="selected" 应用于现有选项?
<?php
try {
$stmt = $conn->prepare("SELECT * FROM customer_info WHERE user_id = :user_id");
$stmt->bindValue(':user_id', $user_id);
$stmt->execute();
}catch(PDOException $e) {echo $e->getMessage();}
$row = $stmt->fetch();
$search = array('_', ',');
$replace = array(' ', ', ');
$rows = str_replace($search, $replace, $row);
?>
<select name="gift_privacy">
<option selected="selected" value="<?php echo $rows['gift_privacy']; ?>"><?php echo $rows['gift_privacy']; ?></option>
<option value="Standard">Standard</option>
<option value="Gift_ID_Req">Require program ID</option>
<option value="Not_Enrolled">Do not enroll</option>
</select>
【问题讨论】:
-
我不确定我是否理解...它如何显示两次?您显示的代码的输出是什么?
-
@Jon - 如果显示代码的 db 值为“标准”,则选择选项将显示为:“标准、标准、礼品 ID Req、Not_Enrolled”而不是“标准、礼品 ID” Req, Not_Enrolled'