0

データベース内の関連情報を表示し、顧客が自分の情報を編集できるようにする顧客アカウントページを作成しています。

以下のコードは、データベースから顧客のアカウント情報を取得して表示し、顧客の情報に正しく一致する値を事前に選択します。私の問題は要素の選択に固有です-既存の選択オプションから選択する代わりに、データベース内の値を使用して追加の選択オプションを追加し、データベース内の値が2回表示されるようにします。

編集-たとえば、「gift_privacy」のdb値が「Standard」の場合、Selectオプションは* Standard、Gift ID Req、Not_Enrolled*ではなく*Standard、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>
4

2 に答える 2

1

試す:

<?php
$gifts = array(
    "Standard" => "Standard",
    "Gift_ID_Req" => "Require Program ID",
    "Not_Enrolled" => "Do not Enroll");

$gift = $rows['gift_privacy'];
//$gift = "Gift_ID_Req";
foreach($gifts as $key => $value) {
    if($key == $gift) {
        echo '<option selected="selected" value="'. $key .'">'. $value .'</option>';
    } else {
        echo '<option value="'. $key .'">'. $value .'</option>';
    }
}
?>

それ以外の:

<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>

もちろん、猫の皮を剥ぐには複数の方法があり、$rows['gift_privacy']代わりに各行の現在のオプションと一致するかどうかを確認できます。

于 2013-02-12T04:14:58.127 に答える
1

これを試して 。これはあなたの問題に対する簡単な解決策です。

<select name="gift_privacy">
<option value="Standard" <?php if($rows['gift_privacy']=='Standard') echo "selected='selected'"; ?>>Standard</option>
<option value="Gift_ID_Req" <?php if($rows['gift_privacy']=='Gift_ID_Req') echo "selected='selected'"; ?>>Standard</option>
<option value="Not_Enrolled" <?php if($rows['gift_privacy']=='Not_Enrolled') echo "selected='selected'"; ?>>Standard</option>
</select>
于 2013-02-12T04:59:03.970 に答える