2013-06-20 4 views
0

У меня есть таблицы баз данных с колонкой под названием «Рекомендуемый», которая является либо y или n.PHP: Force «Рекомендуемый» Наверх

Я пытаюсь заставить любого «Рекомендуемые» == «у» напечатать первый (он печатает HTML через foreach цикла).

Сейчас он просто загружается в порядке индекса (ID).

Я попытался добавить ORDER BY Featured в конец моего SQL-запроса, но ничего не делает.

Как это сделать?

Я использую это через общую функцию. Что я могу сделать, чтобы проверить, существует ли «Featured» без 2 запросов?

Он ломает SQL на таблицах, которые не содержат «Рекомендуемые»

Я установил его с switch изменить SQL только по мере необходимости .. но я предпочел бы справиться с этим в оператор SQL, если кто знает, как смешивать IF EXISTS. Спасибо за помощь!

+4

'ORDER BY Featured = 'y' DESC' должен это сделать. Если нет, покажите весь запрос. – Wrikken

+0

Тип данных - 'varchar (1)' –

+0

Работал как шарм! Ответьте и ваши очки. Благодаря! –

ответ

4

Вместо использования значений Y и N используйте более численный подход, такой как 1 и 0, таким образом вы можете использовать численную сортировку. Но если вы действительно не хотите, чтобы изменить значения столбцов, то вобще

ORDER BY Featured DESC 

как это поставит все Ys первый.

PS: В будущем вы найдете, что лучше использовать числа для логических (1 и 0), это даст вам возможность добавлять новые возможности в будущем, где у вас будет третий и четвертый сценарии (так что вы можете установить его на 2 и 3 и т. д.).

+0

Есть ли способ использовать 'IF EXISTS' для проверки Featured перед' ORDER BY'? –

+0

В то время как я соглашаюсь на логическое поле, должно быть, булево, и вы правы, чтобы упомянуть об этом, аргумент _ 'даст вам возможность добавлять нишевые функции'_, не удерживает воду от столбца char, который может держать, ну, какой-нибудь символ, который вам нравится? – Wrikken

+0

@Wrikken помните, что все дело в том, что ему нужно было СОРТИРОВАТЬ этим значением, как только вы начнете использовать случайные символы для представления разных статусов, вы бросаете сортировку прямо из окна. – TravisO