Форум → Разработка → Базы данных → Изменение позиции отображения при выводе из БД MySQL
Изменение позиции отображения при выводе из БД MySQL
-
Окт. 11, 2008, 5:18 п.п., спустя 14 минут 57 секунд
В смысле, сначала вытащить ORDER BY `rank`, а потом поднять каждый элемент на столько вверх, какое значение у `position`?
Если ASC, то ORDER BY `rank`-`position` ASC. Если DESC, ORDER BY `rank`+`position` DESC. -
-
Окт. 12, 2008, 11:28 п.п., спустя 1 день 5 часов 59 минут
rank увеличивается на число в поле position, проблема в том что в поле rank числа идут не подряд, у одной позиции rank может быть 130 у следующей 150, если у первой в поле position указано 5, то позиция нисколько не изменится. -
Окт. 13, 2008, 2:04 п.п., спустя 14 часов 36 минут 10 секунд
Ну тогда вытягивай ORDER BY `rank`и сортируй средствами PHP.
А вообще, что ты такое замутное делаешь? Может, стоит пересмотреть структуру и переделать ее? -
Окт. 18, 2008, 12:43 д.п., спустя 4 дня 10 часов 38 минут
Структура уже сформирована и по ней уже почти всё написано… Отдали доделать, пожалуй хуже задач чем доделка чужого не бывает.
Дк вот суть в том, что есть каталог фирм. Который сортируется согласно рейтингу составленному путём голосования. Но если в подобном рейтинге какая-то фирма не хочет быть совсем в ж… то она может купить себе позиции, по 1р. 5 штук. Вот и надеялся решить это средствами мускуля, ибо в каталоге планируется уже к середине 2009ого 100 000 фирм на 40 000 посетителей в сутки, а дальше больше… может они этого и не добьются, но если да, то перебор с сортировкой в пхп просто уронит сайт. -
Окт. 19, 2008, 9:24 п.п., спустя 1 день 20 часов 41 минуту
пожалуй хуже задач чем доделка чужого не бывает
Это да, стопудово.но если да, то перебор с сортировкой в пхп просто уронит сайт
Хм… Тогда такой вопрос: содержимое этого каталога часто обновляется? Можно добавить столбец типа «позиция для выборки», сделать переборку средствами PHP, записать это все в базу, а обновлять либо по команде, либо по времени (на крон бросить), либо при покупке позиций и/или голосовании. Выборка будет влет выполняться.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!