2012-03-02 15 views
0

私は選択ボックスに関する質問がありますが、私はクライアント側のaccount.phpに州/州のリストを持つ選択ボックスを持っており、アドレス、名前、電子メールなどの他のフィールドは既に持っていますPHPの選択ボックスについて

私はupdateというアカウントを押したときにユーザー状態情報が保存されている状態のデータベースにcolを持っていますが、すべてが完全に更新されますが、ユーザーが更新ボタンをクリックするたびに選択ボックスを選択したままにしておきたい現在の状態を選択して更新すると選択されたままになりますが、db内で更新されますが、ログバックすると最初のオプションボックスに移動します。

簡単な例はありますか? すばらしいです!代わりに、いくつかの<option>タグをレンダリングする

<?php public function getUserData() { 
    global $db, $core; 
    $sql = "SELECT *, DATE_FORMAT(created, '%a. %d, %M %Y') AS cdate," . "\n DATE_FORMAT(lastlogin, '%a. %d, %M %Y') AS ldate" . "\n FROM " . $this->uTable . "\n 
      WHERE id = '" . $this->uid . "'"; 
    $row = $db->first($sql); 
    return ($row) ? $row : 0; 
} ?> 

<?php $row = $user->getUserData(); ?> 
<select name="state" id="state"> 
    <?php $state = $row['state'];?> 
    <option value="Ontario" <?php if($state == "Ontario") echo "SELECTED" ?>>Ontario</option> 
    <option value="Alberta" <?php if($state == "Alberta") echo "SELECTED" ?>>Alberta</option> 
</select> 

答えて

0

は、それがループを使用する方が簡単でしょう。そうすれば、物事を維持しやすくなります。 (データベースから状態リストを取得することもできます)

<?php 
$states = array('Ontario' => 'Ontario', 'Alberta' => 'Alberta'); 
$row = $user->getUserData(); 
$state = $row['state']; 
?> 
<select name="state" id="state"> 
    <?php foreach($states as $shortName => $displayName):?> 
     <option value="<?=$shortName;?>" <?php if($shortName == $state) echo "SELECTED" ?>><?=$displayName;?></option> 
    <?php endforeach;?> 
</select> 
+0

ありがとう、素晴らしい入力! – user622639

関連する問題