我正在创建一个客户帐户页面,该页面显示数据库中的相关信息并允许客户编辑他们的信息。
下面的代码从数据库中检索并显示客户的帐户信息,并预先选择正确匹配其信息的值。我的问题是特定于 Select 元素的 - 它不是从现有的选择选项中进行选择,而是在数据库中添加一个带有值的额外选择选项,以便数据库中的值显示两次。
编辑 -例如,如果 'gift_privacy' 的 db 值为 'Standard',则选择选项显示为:*Standard、Standard、Gift ID Req、Not_Enrolled* 而不是 *Standard、Gift ID Req、Not_Enrolled*
如何更正此代码以便将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>