我正在创建一个客户账户页面,该页面在数据库中显示相关信息并允许客户编辑其信息。预先选择匹配分贝值的选项,但不添加新的选择选项
下面的代码从数据库中检索并显示客户的帐户信息,并正确预先选择与其信息匹配的值。我的问题特定于选择元素 - 而不是从现有的选择选项中进行选择,而是使用数据库中的值添加额外的选择选项,以便数据库中的值显示两次。
编辑 -例如,如果“gift_privacy”的分贝值是“标准”,选择选项被显示为:*标准,标准,礼品ID Req时,Not_Enrolled的*代替*标准,礼品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>
我不知道我明白...它是如何显示两次?你显示的代码的输出是什么? – Jon 2013-02-12 04:00:46
@Jon - 如果显示的代码的数据库值为'标准',则选择选项显示为:'Standard,Standard,Gift ID Req,Not_Enrolled',而不是'Standard,Gift ID Req,Not_Enrolled' – 2013-02-12 04:11:23