|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Выбор записей с сортировкой (MySQL) |
|
Выбор записей с сортировкой (MySQL)
|
![]() Старожил Сообщения: 302 |
Господа, имеется стандартная структура таблицы:
CREATE TABLE `ttt` ( `id` int(4) NOT NULL auto_increment, `text` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ; А мне нужно сделать примерно так: Кроме как вручную все удалять, расставлять, а потом вставлять ничего не придумал. |
|
Отправлено: 16:05, 21-06-2006 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать benya
добавляем одно поле sort_order int(11) NOT NUL DEFAULT 0 расставляем значения в нем (например делаем для этого небольшой скрипт, чтобы это можно было делать из интерфейса), а потом спокойно делаем при выборке ORDER BY sort_order |
Отправлено: 16:45, 21-06-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать дополню mar иногда может быть полезным выставить атрибут "авто увеличение" чтобы не заботиться о номере при добавлении записи.
|
------- Отправлено: 16:49, 21-06-2006 | #3 |
![]() Старожил Сообщения: 302
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 16:59, 21-06-2006 | #4 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать я же сказала, если записей больше 3, то для этого лучше сделать спец интерфейс, а так руками:
UPDATE ttt SET sort_order = 1 WHERE text = 'Видеокарта'; UPDATE ttt SET sort_order = 2 WHERE text = 'Телевизор'; UPDATE ttt SET sort_order = 3 WHERE text = 'Компьютер'; только в интерфейсе я бы работала не с названиями, а с id и расставялла бы порядок сортировки каждый раз для всех систем сразу |
|
Отправлено: 17:15, 21-06-2006 | #5 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать benya, mar
Цитата:
2) запускаем скрипт пересортировки который выставляет всем элементам целые числа начиная с 1 или 'Телевизор'.sort_order = 'Видеокарта'.sort_order - ('Видеокарта'.sort_order - select '*'.sort_order where sort_order > 'Видеокарта'.sort_order) / 2 |
|
------- Отправлено: 17:31, 21-06-2006 | #6 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Vlad Drakula
это само собой, просто для этого надо понимать суть сортировки, а судя по прошлому вопросу, этого не было, потому и разжевала с UPDATE ![]() |
Отправлено: 18:08, 21-06-2006 | #7 |
![]() Старожил Сообщения: 302
|
Профиль | Сайт | Отправить PM | Цитировать mar,
Таким образом я хотел узнать что делать с дублрующимися значениями. Если обновлять все, то может быть и покатит.... |
Отправлено: 18:44, 21-06-2006 | #8 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать benya
ну так задал бы вопрос напрямую - что, мол, делать c дублирующими значениями ![]() Ответы - вариант 1. ввод через интерфейс, в котором все, например, скриптом JavaScrip раскидываешь стрелочками, а потом через foreach обновляешь все списком - вариант 2. пример Влада - вариант 3. через интерфейс, но двигаешь по одной и меняешь за один раз только 2 значения (местами) наверное еще что-нибудь можно попридумывать ![]() |
Отправлено: 21:09, 21-06-2006 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MySQL - MySQL & MySQL-Front | timon4ik | Программирование и базы данных | 2 | 06-04-2008 18:07 | |
Mysql Выбор записей + к каждой count из другой таблицы | benya | Вебмастеру | 11 | 26-05-2006 18:27 | |
Выбор данных из mysql с приоритетом ? | m2001 | Вебмастеру | 8 | 10-10-2005 20:18 | |
Удаление записей из таблицы MySQL | unknown | Вебмастеру | 3 | 21-05-2003 14:54 | |
Удаление записей | MikePr | О сайте и форуме | 7 | 21-10-2002 07:28 |
|