PHP: сделать ORDER BY с использованием внешних данных? - PullRequest
2 голосов
/ 04 января 2012

Привет всем!Короче говоря, если вы не против протянуть руку начинающему PHPer.:)

У меня есть поле базы данных под названием «Категории», в котором хранится это:

Fruit, People, Place, Animals, Landscape

У меня также есть отдельная таблица в БД, в которой есть элементы с этими именами категорий в полях.за каждый предмет.Прямо сейчас, скрипт (я пытаюсь немного его разветвить) использует:

SELECT DISTINCT(type), type FROM the_categories ORDER BY type ASC 

, чтобы отобразить список всех доступных категорий.Достаточно просто, верно?

Welllllll ..... Я не хочу сортировать по ASC, я хочу сортировать по списку элементов в первом поле Категории, которое я упомянул.В каком бы порядке они ни находились, я хочу отобразить «типы» выше.

Очевидно, мне придется сделать разнесение на запятые и, возможно, дать им 1 в любом порядке ... но даже тогда ... как мне сделать "заказ", используя данные, хранящиеся вдругая папка?

Возможно ли это вообще?Спасибо еще раз!

Ответы [ 2 ]

2 голосов
/ 04 января 2012
... ORDER BY FIELD(type,"Fruit","People","Place","Animals","Landscape")

http://www.cfdan.com/posts/Handy_MySQL_-_ORDER_BY_FIELD.cfm

0 голосов
/ 04 января 2012

И у будущих зевак это есть ... вот код взрыва

$query2 = mysql_query("SELECT * FROM categorytable");
        while($row = mysql_fetch_array($query2)){
            $categories = html_entity_decode($row['categories']);
            $thelist = explode(',', $categories);

        foreach($thelist as $order){
            if(trim($order) != ''){
                $order = trim($order);
                $order = ", '".$order."'";
                $theorder .= $order;
            }
        }

и затем для запроса просто введите переменную порядка

SELECT DISTINCT(type), type FROM the_categories ORDER BY FIELD(type" . $theorder .")")
...