Новый взгляд на старые вещи

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 22 Май, 2012, 11:33:05

Страниц: [1]
Печать
Автор Тема: Изменение позиции отображения при выводе из БД MySQL  (Прочитано 1194 раз)
0 Пользователей и 1 Гость смотрят эту тему.
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, записать это все в базу, а обновлять либо по команде, либо по времени (на крон бросить), либо при покупке позиций и/или голосовании. Выборка будет влет выполняться.
Записан

Страниц: [1]
Печать
 

Перейти в: