Принцип сортировки званий
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Принцип сортировки званий
По какому принципу сортируются звания при их добавлении? Одни сразу поднимаются на самый верх списка, другие остаются внизу. Не могу уловить системы.
Нужно, чтобы одно из званий постоянно оставалось самым нижним в списке.
Нужно, чтобы одно из званий постоянно оставалось самым нижним в списке.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Принцип сортировки званий
Код: Выделить всё
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
ORDER BY rank_min ASC, rank_special ASC';Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Принцип сортировки званий
По минимуму понятно, а специальные звания между собой как сортируются?
Добавил десяток званий, одни остались внизу, другие поднялись вверх. Смотрю в таблице ranks, думал, они там по порядку номера id идут, изменил номер id на самый последний, ничего не меняется. Стрелок передвигать вверх-вниз тоже нигде нет.
Добавил десяток званий, одни остались внизу, другие поднялись вверх. Смотрю в таблице ranks, думал, они там по порядку номера id идут, изменил номер id на самый последний, ничего не меняется. Стрелок передвигать вверх-вниз тоже нигде нет.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Принцип сортировки званий
Booker писал(а):а специальные звания между собой как сортируются?
rank_special ASCrank_special может принимать значение 0 или 1
Добавлено спустя 1 минуту 22 секунды:
А что должно измениться, если они сортируютсяBooker писал(а):ничего не меняется
Sheer писал(а):По минимуму сообщений и по признаку "Специальное звание"
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Принцип сортировки званий
У специальных званий ещё нет никаких сообщений, 0 у всех. Тем не менее одни поднялись вверх, а другие так и остались внизу.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Принцип сортировки званий
Потому что они специальные.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Принцип сортировки званий
Sheer, походу он хочет сказать, что одни специальные звания поднялись, а другие нет. Впрочем, могу и ошибаться. А может ошибается он.
В общем Booker, поясните свою позицию))
В общем Booker, поясните свою позицию))
phpBBex
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Принцип сортировки званий
Добавляю по очереди специальные звания. ВСЕ специальные. Часть ведёт себя "как обычно" - добавляешь, оно так в нижней позиции и остаётся, добавляешь следующее, оно теперь становится последним, предыдущее поднимается на ступень выше и т.п. А другие ведут себя иначе: сразу после добавления звание становится самым первым (верхним) в списке, другое вставляется вообще в середину списка.
Звания ВСЕ специальные. Вот и спрашиваю, отчего зависит такое их поведение при добавлении. И как опустить одно из званий в постоянно нижнюю позицию.
Вот скрин (все специальные звания).
Изначально были два (там, где картинки с квадратиками). При добавлении новых (которые прямоугольники) они добавляются и вверх от старых, и вниз. От алфавита зависеть не может - у меня нет текстового описания званий. От id в таблице ranks тоже не зависит. Так от чего?
Звания ВСЕ специальные. Вот и спрашиваю, отчего зависит такое их поведение при добавлении. И как опустить одно из званий в постоянно нижнюю позицию.
Вот скрин (все специальные звания).
Изначально были два (там, где картинки с квадратиками). При добавлении новых (которые прямоугольники) они добавляются и вверх от старых, и вниз. От алфавита зависеть не может - у меня нет текстового описания званий. От id в таблице ranks тоже не зависит. Так от чего?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Принцип сортировки званий
Код: Выделить всё
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
ORDER BY rank_special DESC, rank_min ASC, rank_title ASC';-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Принцип сортировки званий
Ну написано жеBooker писал(а):Так от чего?
ORDER BY rank_min ASC, rank_special ASCто есть по полям
rank_min иrank_special, никакие другие, в том числеrank_id в сортировке не участвуют. Если идет сортировка по rank_special, то при прочих равных условиях, строки таблицы будут выведены в том же порядке, в каком они записаны в таблице в БД. А в каком порядке они будут записаны - это как бог, вернее mysql, на душу положит, ну вот так он работает.Добавлено спустя 4 минуты 7 секунд:
Если нужно обособить в таблице какое-то одно звание, значит нужно добавить столбец в таблицу
ranks, например fooВ строке с особым рангом а это поле записать 1, в остальные 0, и сортировать по этому полю.
Код: Выделить всё
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
ORDER BY foo ASC, rank_special DESC, rank_min ASC, rank_title ASC';Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Принцип сортировки званий
Вообще можно сделать произвольную сортировку. Тогда код будет выглядеть чуть иначе:Sheer писал(а):В строке с особым рангом а это поле записать 1, в остальные 0, и сортировать по этому полю.
Код: Выделить всё
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
ORDER BY foo DESC, rank_special DESC, rank_min ASC, rank_title ASC';П.С. не тестировал.
phpBBex
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Принцип сортировки званий
Добавил столбец в базу, сортировка в списке званий по этому дополнительному полю получилась.
Но есть один нюанс. При присваивании звания пользователю в его профиле в выпадающем списке не сортируется по новому, там сортировка осталась как и была. Где это изменить?
Но есть один нюанс. При присваивании звания пользователю в его профиле в выпадающем списке не сортируется по новому, там сортировка осталась как и была. Где это изменить?
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Принцип сортировки званий
includes/ucp/ucp_profile.phpBooker писал(а):Где
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Принцип сортировки званий
Вроде нашёл в includes/acp/acp_users.php
Заменил на Надеюсь, что правильно.
Код: Выделить всё
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
WHERE rank_special = 1
ORDER BY rank_title';Код: Выделить всё
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
WHERE rank_special = 1
ORDER BY моё_поле DESC, rank_title';
