http://new.monmouthchineseschool.com/curriculum/cantonese/textbook.php
如果你看一下“C1”
一 十 十一 十二 十三 二 三 四 五 六 七 八 九
这就是所有链接的样子。
这是该类的 mysql 数据库
CREATE TABLE IF NOT EXISTS `mon_textbook` (
`id` int(11) NOT NULL auto_increment,
`class` varchar(255) NOT NULL,
`ch` varchar(255) NOT NULL,
`sTitle` varchar(255) NOT NULL,
`fTitle` varchar(255) NOT NULL,
`text` longtext NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=117 ;
--
-- Dumping data for table `mon_textbook`
--
INSERT INTO `mon_textbook` (`id`, `class`, `ch`, `sTitle`, `fTitle`, `text`) VALUES
(14, 'C1', '1', '一', '第一課', ''),
(15, 'C1', '2', '二', '第二課', ''),
(16, 'C1', '3', '三', '第三課', ''),
(17, 'C1', '4', '四', '第四課', ''),
(18, 'C1', '5', '五', '第五課', ''),
(19, 'C1', '6', '六', '第六課', ''),
(20, 'C1', '7', '七', '第七課', ''),
(21, 'C1', '8', '八', '第八課', ''),
(22, 'C1', '9', '九', '第九課', ''),
(23, 'C1', '10', '十', '第十課', ''),
(24, 'C1', '11', '十一', '第十一課', ''),
(25, 'C1', '12', '十二', '第十二課', ''),
(26, 'C1', '13', '十三', '第十三課', '');
调用它的sql查询
$sql = 'SELECT * FROM '.dbPre.'textbook WHERE `class`="'.$textbookClass[$ii].'" ORDER BY `ch` ASC';
它应该看起来像这样,而不是像上面那样
一 二 三 四 五 六 七 八 九 十 十一 十二 十三
最佳答案
您的 ch
列包含字符串,它们是按字母数字排序的,而不是按数字排序。您的结果按以下顺序排列:“1 10 11 12 13 2 3 4 ...”
将 ch
列更改为整数类型,或者将其转换为 ORDER BY
中的整数。我推荐前者。
关于php - 为什么我的 SQL 查询没有对列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2215535/