Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > запрос с многомерной сортировкой


Автор: slang 8.1.2010, 20:30
Есть табличка smile
Код

CREATE TABLE `work_group` (
  `id` int(11) NOT NULL auto_increment,
  `group` tinytext NOT NULL COMMENT 'Группа',
  `group_up` int(11) default NULL,
  `ruk_id` int(11) NOT NULL COMMENT 'ID руководителя рабочей группы',
  `archiv` int(1) default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COMMENT='Карточка рабочей группы' AUTO_INCREMENT=1 ;


делаю запрос, например:
Код

SELECT * FROM work_group ORDER BY `group_up` ASC, `group` ASC";


в итоге получаю строку типа:
Код
$group = mysql_fetch_array($result)
$group_up_cl = new group();
$group_up = $group_up_cl->info_group($group['group_up']);
$group_up = $group_up['group'];
$full_string = $group_up . "->" . $group['group']

и почти все устраивает smile
вот только хотелось бы, чтобы первая сортировка шла не по ID, а по наименованию верхней рабочей группы smile
наверное все таки это не реально средствами MySQL, но на всякий случай решил проконсультироваться с уважаемыми гуру smile.

Автор: bars80080 8.1.2010, 21:31
запрос то вы делаете, а что значит: 
Цитата(slang @  8.1.2010,  19:30 Найти цитируемый пост)
в итоге получаю строку типа:

и далее пхп-код.

вы код из БД вытаскиваете?

если нет, то причём он? что за класс group() и какое он имеет отношение к выборке?

вы можете просто получить результат выборки?

Автор: slang 8.1.2010, 22:31
задача решена несколько другим способом smile
метод возвращающий html код списка был разделен на два: шапка и табличная часть. Последний метод обращается к себе же, пока не отобразит все подчиненные элементы.

спасибо за внимание.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)