SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.04.2016 13:01:12

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Сортировка записей

Здравствуйте! Как сделать возможность самому выбирать в каком порядке выводить записи с таблице? Пример я сам в админку выбрал в каком порядке выводить записи, а на сайте в таком порядке они и выводятся.

Неактивен

 

#2 16.04.2016 16:36:22

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сортировка записей

порядок выбора определяется в части order by
можно ли это сделать через админку или нужно в коде сайта руками править соответствующий запрос - зависит от движка вашего сайта

Неактивен

 

#3 16.04.2016 19:17:53

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Сортировка записей

vasya написал:

порядок выбора определяется в части order by
можно ли это сделать через админку или нужно в коде сайта руками править соответствующий запрос - зависит от движка вашего сайта

Сейчас эта функция через адмику не реализована, вот хочу реализовать, делаю движок собственный, хочу что бы была у меня возможность выбирать порядок вывода записей

Неактивен

 

#4 16.04.2016 19:49:41

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сортировка записей

а в чем собственно загвоздка?
select, который выводит записи на сайте, формируется в коде. данные для сортировки он берет те, что вы внесли через админку

Неактивен

 

#5 16.04.2016 19:58:54

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Сортировка записей

vasya написал:

а в чем собственно загвоздка?
select, который выводит записи на сайте, формируется в коде. данные для сортировки он берет те, что вы внесли через админку

По каким именно данным сортировать? Добавить еще одно поле для сортировки, в котором  писать порядок вывода записей?

Неактивен

 

#6 16.04.2016 20:24:50

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сортировка записей

откуда я могу знать по каким данным вам нужно сортировать? может нужно по каким-то полям или фиксированный константами или определяющийся какими-то вычислениями или ...
а так, да. отдельное поле где хранится инфа о нужном порядке сортировки

Неактивен

 

#7 16.04.2016 21:54:51

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Сортировка записей

vasya написал:

откуда я могу знать по каким данным вам нужно сортировать? может нужно по каким-то полям или фиксированный константами или определяющийся какими-то вычислениями или ...
а так, да. отдельное поле где хранится инфа о нужном порядке сортировки

Ну я вот думал так сделать, добавить поле в котором хранить нумерацию записей, а в админке сделать возможность менять их, на сайте сортировать через order by,так вот у меня вопрос если в этих  для сортировки полях окажутся два одинаковые значение как тогда сортировка будет происходить? Надеюсь вы поняли что я хотел спросить

Неактивен

 

#8 16.04.2016 22:06:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сортировка записей

вообще-то не очень, давайте на примере:
что хранится в админке
какой запрос формируется в коде

Неактивен

 

#9 16.04.2016 22:42:31

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Сортировка записей

vasya написал:

вообще-то не очень, давайте на примере:
что хранится в админке
какой запрос формируется в коде

Ну к примеру есть раздел новости и к нету таблица в бд новости
Таблица "новости"
id  title   description
1  текст   текст
2  текст   текст
3  текст  текст
4  текст  текст
5  текст  текст

сейчас они сортируются по id от последний записи к первой

Как сделать что бы я сам могу определить в каком порядке вывести эти записи на сайте
Допустим в таком порядке
id  title   description
5  текст   текст
2  текст   текст
1  текст  текст
4  текст  текст
3  текст  текст

Надеюсь поняли вы меня

Неактивен

 

#10 16.04.2016 22:45:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сортировка записей

select id, title, description from `новости` order by field(id, 5,2,1,4,3);

Неактивен

 

#11 16.04.2016 22:54:19

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Сортировка записей

vasya написал:

select id, title, description from `новости` order by field(id, 5,2,1,4,3);

Ну то так понятно, а вот что бы администратор смог сам выставить порядок и этот порядок занеся в бд

Неактивен

 

#12 16.04.2016 22:58:31

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Сортировка записей

Тогда дополнительную колонку добавьте, priority и в админке дайте возможность выставлять "приоритет"


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#13 16.04.2016 23:03:39

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сортировка записей

доп поле, в которое через админку сохраняете строку '5,2,1,4,3'

ну и продумываете всю логику: какова сортировка по умолчанию, задается ли в ручную только для id или нужно ещё хранить имя колонки или может ещё возможны другие виды сортировок задаваемых через админку.

потом на основании этих данных в коде формируется запрос и подставляются нужные значения

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson