我有一个MySQL数据库的记录列表。单击记录时,它会将您带到可以更新这些记录的页面。我正在使用HTML表单动态显示数据。
例如,如果游戏在2007
中发布,我会有一个下拉框,其中包含可以更改为的所有不同年份。
我当前用于年度下拉列表的SQL如下;
SELECT DISTINCT gameYear FROM games ORDER BY gameYear
按顺序显示年份。有没有办法让它们以正确的顺序显示(IE 2001, 2002, 2003
等),但是选择现有的年份开始?
一个例子,一年的游戏为2007
。
当我点击记录并开始编辑游戏时,我希望下拉框自动显示当前值(2007
)。然后,当我选择下拉列表时,我希望这些年份仍然有序。
答案 0 :(得分:1)
你可以这样排序:
select DISTINCT gameYear from game order by
case
when gameYear = 2007 then 0
else gameYear
end;
答案 1 :(得分:1)
您可以通过循环SQL结果集并输出HTML <option>
元素来填充下拉列表。如果当前循环值等于游戏年份,则需要在此循环内部进行检查。如果是添加selected
HTML属性。
答案 2 :(得分:0)
SelectedYear是您当前的选定年份
SELECT '$SelectedYear' as gameYear
UNION
SELECT * FROM
(SELECT gameYear from game
WHERE gameYear <> $SelectedYear
ORDER BY gameYear)