CREATE TABLE `tree` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`version` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`title` varchar(255) NOT NULL,
`sort` int(11) NOT NULL,
`rating` double NOT NULL DEFAULT '0',
`global_sort` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `IDX_22359CF6727ACA70` (`parent_id`),
CONSTRAINT `FK_22359CF6727ACA70` FOREIGN KEY (`parent_id`) REFERENCES `tree` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在每个级别的项目可以按以下方式排序:版本,排序或评级。
我需要以正确的顺序返回所有项目。
至于现在,我为每个级别使用php递归&更新有关级别排序的字段global_sort。
任何更好的想法?
EDIT1
并作为变体:如果正确的顺序必须只在一个级别内(不用担心全局)?
EDIT2 我的意思是像这样闷闷不乐 http://joxi.ru/WmYPUxjKTJAfVs5nCE4
当某些项目必须按评级问题和某些评级desc
进行排序时