选择的每个下拉列表的PHP
我这里有一段代码选择的每个下拉列表的PHP,php,drop-down-menu,selected,Php,Drop Down Menu,Selected,我这里有一段代码 <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 =
<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变量来自所选的变量。我试图做的是,当用户选择一个选项时,该选项现在在下拉列表中被选中,在客户端点击submit之后,页面返回
有人知道我在说什么吗
谢谢我会这样做:
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。我发现您的代码中存在一些问题: 首先设置$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>