PHP: сделать ЗАКАЗ, используя внешние данные?


Всем привет! Короче говоря, с этим, если вы не возражаете протянуть руку помощи этому новичку.:)

У меня есть поле базы данных под названием "Категории", в котором хранится следующее:

Fruit, People, Place, Animals, Landscape

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

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

Для отображения списка всех доступных категорий. Достаточно просто верно?

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

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

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

Author: Christian Neverdal, 2012-01-04

2 answers

... ORDER BY FIELD(type,"Fruit","People","Place","Animals","Landscape")

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

 2
Author: Luke Stevenson, 2012-01-04 01:56:14

И просто так, чтобы у будущих зрителей это было.... вот код разнесения

$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 .")")
 0
Author: PaulHanak, 2012-01-04 13:30:16