在php中的下拉框中设置起始行值

时间:2012-05-08 08:05:50

标签: php html

我有一张日期表:

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>";
?>

4 个答案:

答案 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”的项目。