我有一张日期表:
ID,的DateField,dayfield,monthyearfield
1,2012-05-01,星期二,五月-2012
2,2012-05-02,星期三,五月-2012
我正在使用下拉框,我选择了DISTINCT monthyearfield。如果月份是例如2012年6月,我希望下拉框默认为页面打开时的那个。我不知道该怎么做。如果我使用WHERE子句,它仅显示例如Jun-2012。目前它是默认为第一行,即2012年5月。我尝试了ORDER BY变量($ date_start1),但这不起作用。
<?php
$date_start1 = "Jun-2012"; //just for testing purposes, will change later so that it gets the current Month.
echo $date_start1;
$sql2 = "SELECT DISTINCT monthyearfield FROM trn_cal";
$res2 = mysql_query($sql2);
echo "<form method='post'>";
$dropdown = "<select name='myvalue'>";
while ($row2 = mysql_fetch_assoc($res2)) {
$my = $row2['monthyearfield'];
$dropdown .= "\r\n<option value='{$row2['id']}'>{$row2['monthyearfield']}</option>";
}
$dropdown .= "\r\n</select>";
echo $dropdown;
echo "<input type=submit name=Submit value='Go'>";
$data1 = mysql_real_escape_string($_POST["myvalue"]);
echo "</form>";
?>
答案 0 :(得分:1)
你可以使用php date
[docs]功能
并添加一个if来检查它。
像:
$cur_date = date('M-Y');
while ($row2 = mysql_fetch_assoc($res2)) {
$selected = "";
if ($row2['monthyearfield'] == $cur_date) {
$selected = "selected='selected'";
}
$dropdown .= "\r\n<option value='{$row2['id']}' {$selected}>{$row2['monthyearfield']}</option>";
}
答案 1 :(得分:0)
只需编辑此行:
$dropdown .= "\r\n<option value='{$row2['id']}'>{$row2['monthyearfield']}";
if($ row2 ['monthyearfield'] =='2012年6月') $ dropdown。=“selected = selected”;
$ dropdown。='/ option&gt; “;
答案 2 :(得分:0)
while ($row2 = mysql_fetch_assoc($res2)) {
$my = $row2['monthyearfield'];
$selected = "";
if ( $my == $date_start1 ) {
$selected = " selected='selected'";
}
$dropdown .= "\r\n<option value='{$row2['id']}'{$selected}>{$row2['monthyearfield']}</option>";
}
答案 3 :(得分:0)
您想订购结果,还是想自动选择选项列表中的特定项目?我建议这是最后一个,还是不是?
所以,给出“”-tag,其中包含应自动选择的值,“selected ='selected”atttribute / value。
f.e:
<select>
<option>Bar</option>
<option selected="selected">Foo</option>
<option>FooBar</option>
</select>
因此将自动选择标题为“Foo”的项目。