2012-03-26 15 views
0

は私のデータベースに格納された値が移入ドロップダウンリストを含むフォームを持っていると言う値キープ私が修正できるかどうかを確認したい。具体的には、フォームを送信するたびに、ドロップダウンリストで選択した項目に関係なく、リストの最初の項目が選択されます。例えば。HTML選択フォームがドロップダウンがPHP

List: 
Item1 (selected) 
Item2 

ページでは、それはまだ

List: 
Item1 (selected) 
Item2 

で送信した後、私は、アイテム2を選択してフォームを送信し、ドロップダウンを持ってする方法はありますが、項目が選択された「覚えていますか」?例えば、Item2のフォームを提出した後の希望の効果は、次のようになります。

List: 
Item1 
Item2 (selected) 

答えて

2

だけforループで現在のものでsubmited値を比較します。個人的に

<option value="<?php echo $row->id ?>" <?php echo $row->id == $_POST['item_select'] ? 'selected' : '' ?> ><?php echo $row->name ?></option> 
+0

ニース、。再度、感謝します! –

1

私が選択し、チェックボックスとラジオ入力のあなたのためのすべてのこれを行い機能を持っていると思います。しかし、あなたがこれを何度もやる必要がある場合にのみ。たとえば、次のように

function checker($type, $positive, $value) { 
    if ($type == 'radio') { 
     if ($positive == $value) { 
      $bool = 'CHECKED'; 
     } 
    } 

    if ($type == 'checkbox') { 
     if ($positive == $value) { 
      $bool = 'CHECKED'; 
     } 
    } 

    if ($type == 'select') { 
     if ($positive == $value) { 
      $bool = 'SELECTED'; 
     } 
    } 

    return $bool; 
} 

使用を次のように

<select name="item_select"> 
    <?php 
    $query = "SELECT * FROM my_table ORDER BY name"; 
    $result = mysql_query($query); 
    while ($row = mysql_fetch_object($result)) { 
    ?> 
     <option value=<?php echo $row->id; ?> <?=checker('select', $row->id, $_POST['item_select'])?>> <?php echo $row->name; ?></option> 
     <?php }// end while?> 
    </select> 

をあなたは一度だけ、これはやり過ぎですが、あなたは原理を取り、あなたのコードにそれを適用することができるはず、これを行うために必要としている場合。

0

次のことを試してみてください。私が探していたまさに

<option value="<?php echo $row->id ?>" <?php echo $row->id == $_POST['item_select'] ? "selected='selected'" : "" ?> ><?php echo $row->name ?></option> 
関連する問題