-1

ここでこのコードを取得しました...

<form action="InvoiceNotice.php?action=invoicenotice" method="post">
<label for="fordays">Select Day</label>
<select name="daySelected" id="daySelected">
<option value="0">Today</option>
<?php
$array = array_combine(range(1,$InvoiceDaysArray['days']), range(1,$InvoiceDaysArray['days']));
foreach($array as $row => $value){
    $selected = '';
    $daySelected = 0;
    if($daySelected == $row){
    $selected = 'SELECTED';
    }
    echo "<option selected='" . $selected . "' value='" . $row . "'>" . $value . " days ago</option>";
}
?>
</select>
<input type="submit" name="button" id="button" value="Submit" />
</form>

私の問題は$selected、$daysSelected変数が選択されたものに由来することです。私がやろうとしているのは、ユーザーがオプションを選択すると、そのオプションがドロップダウンで選択され、クライアントが送信を押した後にページが戻ることです。

誰かが私が話していることを知っていますか?

ありがとう

4

2 に答える 2

1

私は次のようなことをします:

foreach($array as $row => $value){
    $selected = '';
    if($_POST['daySelected'] == $row){
        $selected = ' selected="selected"';
    }
    echo "<option" . $selected . " value='" . $row . "'>" . $value . " days ago</option>";
}

selectedおそらくの代わりに必要なだけですがselected="selected"

于 2012-05-28T21:34:27.420 に答える
1

コードにいくつかの問題があります。最初に設定$daySelected = 0;してから、データベースの変数と比較してみてください。0日目はforeachループに含まれていません。これを試してください。

    <form action="InvoiceNotice.php?action=invoicenotice" method="post">
<label for="fordays">Select Day</label>
<select name="daySelected" id="daySelected">
<option value="0">Today</option>
<?php
$array = array_combine(range(1,$InvoiceDaysArray['days']), range(1,$InvoiceDaysArray['days']));
foreach($array as $row => $value){
    $selected = '';
    $daySelected = $_POST['daySelected'];
    if($daySelected == $row){
    $selected = "selected=SELECTED";
    }else {$selected='';}
    echo "<option '" . $selected . "' value='" . $row . "'>" . $value . " days ago</option>";
}
?>
</select>
<input type="submit" name="button" id="button" value="Submit" />
</form>
于 2012-05-28T21:36:37.937 に答える