如何自动投入年份?

时间:2016-01-11 02:03:35

标签: php

我有一个问题,我希望如果我在2016年注册学生,那么它会自动放入sample school_year(syearid)而不点击选择标记怎么做?

(school_year table has (syearid(pri), from_year,to_year))

from_year例如2015和to_year例如2016,如果计算机的年份是2016年,那么它将自动放入school_year(syearid)

这是我的代码:

                                          
学年                                                                                                                                                            

include('../connection/connect.php');
            $result = $db->prepare("SELECT * FROM school_year");
            $result->bindParam(':syearid', $res);
            $result->execute();
            for($i=0; $row = $result->fetch(); $i++){
                echo "<option value='".$row['syearid']."'>".$row['from_year'].'-'.$row['to_year']."</option>";
                }
            ?>
         </optgroup>
       </select>

2 个答案:

答案 0 :(得分:2)

要让HTML预先选择一个选项,它需要selected属性。 像这样:

<select>
  <option value="a">A</option>
  <option value="b">B</option>
  <option value="c">C</option>
  <option value="d" selected>D</option>
</select>

因此,您可以添加所选属性,以防$row['to_year']等于服务器上的当前年份,date("Y")使用类似这样的内容(未经测试):

$isSelected = ((date("Y") == $row['from_year']) ? " selected" : "");

echo "<option value='".$row['syearid']."'$isSelected>".$row['from_year'].'-'.$row['to_year']."</option>";

答案 1 :(得分:0)

您可以将selected="selected"添加到应选择年份的选项中。然后,添加一个条件来决定何时包含该额外属性,如下所示:

$currentYear = date('Y');

for ($i=0; $row = $result->fetch(); $i++) {
    $selectedAttr = "";
    if ($row['from_year'] == $currentYear) {
        $selectedAttr = "selected=\"selected\"";
    }

    echo "<option value='".$row['syearid']."' ". $selectedAttr .">".$row['from_year'].'-'.$row['to_year']."</option>";
}

请注意,我的条件是检查from_year是否等于当前年份。如果我对您的问题的理解不正确,您可能需要更新此条件。