2010-02-07 53 views
2

http://new.monmouthchineseschool.com/curriculum/cantonese/textbook.php
如果你看看 'C1'如何我的SQL查询不排序列?

一十十一十二十三二三四五六七八九

这是所有环节看怎么样。
这是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 = 'SELECT * FROM '.dbPre.'textbook WHERE `class`="'.$textbookClass[$ii].'" ORDER BY `ch` ASC'; 

,而不是看起来像它上面是怎样的SQL查询语句,它应该是这样的

一二三四五六七八九十十一十二十三

回答

4

您的ch列包含字符串,它们按照字母数字排序,而不是数字排序。您的结果按此顺序'1 10 11 12 13 2 3 4 ...'

将您的ch列更改为整数类型,或将其转换为ORDER BY中的整数。我会推荐前者。

+0

如何检测数字并将它们解码成这些图像?我只能检测前5个数字1 2 3 4 5 – osgx 2010-02-07 02:32:09