|
unikom ↓
|
 |
|
11 Октябрь, 2008, 05:03:57
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 43 Сила слова: 0
|
Есть таблица
table
*id
*name
*rank
*position
таблица выводится по с сортировкой по полю rank но если в поле position какой-то записи стоит, например, 5, то позиция должна вывестись на 5 позиций выше в общем списке.
Вообще реально ли такое сделать средствами mysql?
|
|
|
|
|
Записан
|
|
|
|
|
sap ↓
|
 |
|
11 Октябрь, 2008, 05:18:54 , спустя 14 минут 57 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Жмурики Карма: 40
Сообщений: 2697 Сила слова: 1.48
|
В смысле, сначала вытащить ORDER BY `rank`, а потом поднять каждый элемент на столько вверх, какое значение у `position`?
Если ASC, то ORDER BY `rank`-`position` ASC. Если DESC, ORDER BY `rank`+`position` DESC.
|
|
|
|
|
Записан
|
|
|
|
|
unikom ↓
|
 |
|
11 Октябрь, 2008, 05:28:42 , спустя 9 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 43 Сила слова: 0
|
Пасиб, будем пробовать. Не знал что так можно
|
|
|
|
|
Записан
|
|
|
|
|
unikom ↓
|
 |
|
12 Октябрь, 2008, 11:28:30 , спустя 1 день 5 часов 59 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 43 Сила слова: 0
|
rank увеличивается на число в поле position, проблема в том что в поле rank числа идут не подряд, у одной позиции rank может быть 130 у следующей 150, если у первой в поле position указано 5, то позиция нисколько не изменится.
|
|
|
|
|
Записан
|
|
|
|
|
sap ↓
|
 |
|
13 Октябрь, 2008, 02:04:40 , спустя 14 часов 36 минут 10 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Жмурики Карма: 40
Сообщений: 2697 Сила слова: 1.48
|
Ну тогда вытягивай ORDER BY `rank`и сортируй средствами PHP.
А вообще, что ты такое замутное делаешь? Может, стоит пересмотреть структуру и переделать ее?
|
|
|
|
|
Записан
|
|
|
|
|
unikom ↓
|
 |
|
18 Октябрь, 2008, 12:43:18 , спустя 4 дня 10 часов 38 минут 38 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 43 Сила слова: 0
|
Структура уже сформирована и по ней уже почти всё написано... Отдали доделать, пожалуй хуже задач чем доделка чужого не бывает.
Дк вот суть в том, что есть каталог фирм. Который сортируется согласно рейтингу составленному путём голосования. Но если в подобном рейтинге какая-то фирма не хочет быть совсем в ж... то она может купить себе позиции, по 1р. 5 штук. Вот и надеялся решить это средствами мускуля, ибо в каталоге планируется уже к середине 2009ого 100 000 фирм на 40 000 посетителей в сутки, а дальше больше... может они этого и не добьются, но если да, то перебор с сортировкой в пхп просто уронит сайт.
|
|
|
|
|
Записан
|
|
|
|
|
sap ↓
|
 |
|
19 Октябрь, 2008, 09:24:38 , спустя 1 день 20 часов 41 минуту 20 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Жмурики Карма: 40
Сообщений: 2697 Сила слова: 1.48
|
пожалуй хуже задач чем доделка чужого не бывает
Это да, стопудово.
но если да, то перебор с сортировкой в пхп просто уронит сайт
Хм... Тогда такой вопрос: содержимое этого каталога часто обновляется? Можно добавить столбец типа «позиция для выборки», сделать переборку средствами PHP, записать это все в базу, а обновлять либо по команде, либо по времени (на крон бросить), либо при покупке позиций и/или голосовании. Выборка будет влет выполняться.
|
|
|
|
|
Записан
|
|
|
|
|