2015-02-05 16 views
1

我有一個來自MySQL數據庫的記錄列表。當單擊記錄時,它會將您帶到可以更新這些記錄的頁面。我正在使用HTML表單來動態顯示數據。現有數據的訂單下拉列表SQL

例如,如果一個遊戲在2007中發佈,我會有一個包含所有不同年份的下拉框,它可以更改爲。

我當年的下拉式SQL語句如下;

SELECT DISTINCT gameYear FROM games ORDER BY gameYear 

這顯示年份的順序。有沒有辦法讓它們以正確的順序顯示(IE 2001, 2002, 2003等),但選擇的現有年份是以什麼開始的?

一個例子,一年的遊戲2007

當我點擊記錄並編輯遊戲時,我希望下拉框自動顯示當前值(2007)。然後,當我選擇下拉列表時,我希望這些年份仍然有序。

+0

你說的'所有不同年份,它可以to' – Jake 2015-02-05 13:07:27

+0

被改變的意思是如果我想編輯gameYear價值,我有所有的下拉框它可以改變的不同選項。我可能希望將遊戲年份從2007年改爲2001年。我希望原始年份(2007年)能夠在下拉列表中自動選擇,但也會按順序顯示其他年份,以免混淆。 – RonaIdo 2015-02-05 13:09:21

+0

SQL不知道關於下拉框和選定項目的任何信息。你在編程什麼語言或系統? – 2015-02-05 13:09:26

回答

1

您可以這樣排序是:

select DISTINCT gameYear from game order by 
    case 
    when gameYear = 2007 then 0 
    else gameYear 
    end; 
1

您可能是通過遍歷設置你的SQL結果和輸出HTML <option>元素填充下拉。如果當前循環值等於遊戲的年份,則需要在此循環內檢查。如果是添加selected HTML屬性。

0

SelectedYear是您當前選擇的年份

SELECT '$SelectedYear' as gameYear 
UNION 
SELECT * FROM 
    (SELECT gameYear from game 
    WHERE gameYear <> $SelectedYear 
    ORDER BY gameYear)