2015-02-05 3 views
1

У меня есть список записей из базы данных MySQL. Когда нажата запись, вы попадаете на страницу, где вы можете обновить эти записи. Я использую HTML-форму для динамического отображения данных.Выпадающий список заказов по существующим данным SQL

Например, если игра была выпущена в 2007 У меня будет раскрывающийся список со всеми годами, в которые он может быть изменен.

Мой текущий SQL для выпадающего года выглядит следующим образом:

SELECT DISTINCT gameYear FROM games ORDER BY gameYear 

Это показывает годы на очереди. Есть ли способ показать их в правильном порядке (IE 2001, 2002, 2003 и т. Д.), Но с самого начала выбранный год?

Пример: игра с годом 2007.

Когда я нажимаю запись и перехожу к редактированию игры, я хочу, чтобы раскрывающийся список отображал текущее значение (2007) автоматически. Затем, когда я выбираю раскрывающийся список, я хочу, чтобы годы все еще были в порядке.

+0

Что вы имеете в виду 'всех разных лет, что он может быть изменен в' – Jake

+0

Если я хочу, чтобы изменить значение gameYear, у меня есть выпадающий список со всеми различные варианты, к которым он может быть изменен. Возможно, мне захочется изменить gameYear с 2007 по 2001 год. Я хочу, чтобы исходный год (2007) был автоматически выбран в раскрывающемся списке, но показывая другие годы в порядке, чтобы они не все перепутались. – RonaIdo

+0

SQL ничего не знает о выпадающих списках и выбранном элементе. На каком языке или системе вы программируете? –

ответ

1

Вы можете сортировать так:

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

Вы, вероятно, заполнить выпадающий список, обернув над результатом SQL набора и вывода HTML <option> элементов. Вы должны проверить внутри этого цикла, если текущее значение цикла равно году вашей игры. Если он добавляет атрибут HTML selected.

0

SelectedYear является Вашим текущим выбранным годом

SELECT '$SelectedYear' as gameYear 
UNION 
SELECT * FROM 
    (SELECT gameYear from game 
    WHERE gameYear <> $SelectedYear 
    ORDER BY gameYear) 
Смежные вопросы