2

ユーザーがデータベースから取得する値を選択できるドロップダウンリストを作成したいと思います。選択した値に基づいてページが更新されると、選択は「元の」デフォルトの選択に戻ります。ページが更新されたときに、選択した値を保存してそのままにしておくにはどうすればよいですか?

// Drop Down Menu to choose Session

if (isset($_POST['action']))
{
    $action = $_POST['action'];
    $session = $_POST['session'];
}
else
{
    $action = "";

    if (!isset($_POST['session']))
    {
        $session = "";
    }
    else
    {
        $session = $_POST['session'];
    }
}

?>

<form name='update' action='emailinquiry_webinarnew.php' method='POST'>
Session: 
<select name='session'>
    <?php

    $query = "SELECT distinct session FROM web_attendees";
    $result = mysql_query($query) or die(mysql_error());

    while ($row = mysql_fetch_assoc($result))
    {
        echo "<option>".$row['session']."</option>";
    }
    ?>
</select>
<input type='submit' name="ViewButton" value='View'/>

</form>
4

2 に答える 2

2
while ($row = mysql_fetch_assoc($result))  {
    if($row['session']==$session){
        echo "<option selected='selected' >".$row['session']."</option>";
    } else {
        echo "<option >".$row['session']."</option>";
    }
}

それがあなたのためにうまくいくことを願っています...

于 2012-07-19T19:29:43.997 に答える
0

オプションを出力するwhileループにそのような条件を追加するだけで、selected="selected"デフォルトでオプションを選択するオプションが追加されます。

while ($row = mysql_fetch_assoc($result))
{
    $selected = '';
    if (isset($_POST['session']) && $row['session'] == $_POST['session'])
        $selected = ' selected="selected"';

    echo "<option{$selected}>".$row['session']."</option>";
}
于 2012-07-19T19:29:58.337 に答える