PHP: сделать ЗАКАЗ, используя внешние данные?
Всем привет! Короче говоря, с этим, если вы не возражаете протянуть руку помощи этому новичку.:)
У меня есть поле базы данных под названием "Категории", в котором хранится следующее:
Fruit, People, Place, Animals, Landscape
У меня также есть отдельная таблица в БД, в которой есть элементы с этими названиями категорий в полях для каждого элемента. Прямо сейчас скрипт (я пытаюсь немного его раскошелить) использует:
SELECT DISTINCT(type), type FROM the_categories ORDER BY type ASC
Для отображения списка всех доступных категорий. Достаточно просто верно?
Хорошо, хорошо..... Я не хочу сортировать по ASC, я хочу сортировать по списку элементов в первом поле категорий, которое я упомянул. В каком бы порядке они ни находились, я хочу отобразить "типы" выше.
Очевидно, мне придется сделать разрыв на запятых и, возможно, дать им 1 в любом порядке.... но даже тогда.... как мне выполнить "заказ", используя данные, хранящиеся в другой папке?
Возможно ли это вообще? лол, еще раз спасибо!
2 answers
... ORDER BY FIELD(type,"Fruit","People","Place","Animals","Landscape")
И просто так, чтобы у будущих зрителей это было.... вот код разнесения
$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 .")")