咨询:mysql数据库排序问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:58:41
求助:关于PHP+MYSQL数据库的。我有四个字段,分别是ID,banqi,hangcheng,qifeishijian.除了ID是INT,其余三个是VARCHAR,我有6条数据,ID分别是1,2,3,4,对应的班期数据为:星期一为2条,星期二为2条。hangcheng数据为:北京-上海(2个,都为星期一,起飞时间不同),(星期一,起飞时间不同),北京-广州(星期二,2个数据,起飞时间不同),我现在想排序输出,让他按照星期,航程和时间排列.

我要的输出结果为: 航程:班期 起飞时间
北京-上海星期一 13:00
北京-上海星期一 15:00
广州-上海 星期一 16:00
广州-上海 星期一 18:00
北京-广州 星期二 12:00
北京-广州 星期二 14:00
我用了order by hangcheng asc,banqi asc,qifeishiijan asc,数据少还没事,一旦从星期一到星期日数据全了,输出结果就乱套了,乱排序了。

哪位达人给个解决方法啊,我用的是php开发语言,最好给个代码,分不够我再加。

把星期存成数字
然后order by 星期
查出以后在语句里
页面里翻译成汉字都行

或都干脆存成一张表
myweek
field1 field2
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
7 星期日

查的时候用 jion 一连
排序按field1
显示按field2

1、你排序的方法是使用汉字,所以排序混乱
2、常用的方法是将这类固定内容的字段用数字来表示,然后在界面中再重新解读为汉字。比如你定义0=星期一,那么排序后肯定正常,然后在页面中再更换为星期一,简单点儿你就用一个select case来输出星期,多个步骤而已
3、使用汉字会占用大量数据库空间,而且也没有必要,由于是汉字你必须使用字符类型的字段,这也会对数据库性能以及存储空间进行一定的浪费
4、方便点儿可以自己编写一个js来进行影射,将数据库的数据存入页面,然后用js来产生
这东西挺简单的,你这20分也差不多,不过代码实在很简单,自己写了