【发布时间】:2017-07-26 02:00:06
【问题描述】:
我制作了一个简单的表格来了解父子关系,但我似乎没有得到正确的结果。我要排序
- 按“姓名”字段的字母顺序排列,仅限没有父母的人 (parent_id==0)
- 但是,只要有父级的子行,它们应该打印在父级之后,也按名称的字母顺序排序。
示例表:
================================================ ==============
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) NOT NULL DEFAULT '0',
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
--
-- Dumping data for table `test`
--
INSERT INTO `test` (`id`, `parent_id`, `name`) VALUES
(1, 4, 'Zorg'),
(2, 0, 'Woordolack'),
(3, 4, 'Akriller'),
(4, 0, 'Metabrusher'),
(5, 2, 'Intersplitter'),
(6, 0, 'Beaverbrain'),
(7, 4, 'Torgeoruos'),
(8, 2, 'Deptezaurus');
================================================ ==============
这是我想使用 PHP 输出到 Web 浏览器的内容:
Beaverbrain
Metabrusher
-> Akriller
-> Torgeoruos
-> Zorg
Woordolack
-> Deptezaurus
-> Intersplitter
================================================ ==============
我应该说这是一个示例表,只是为了展示这个想法,因此可以通过任何方式对其进行修改以获得正确的结果。
【问题讨论】:
标签: php mysql database sorting