Php Sqlite2通过不工作命令

Php Sqlite2通过不工作命令,php,sql,sqlite,Php,Sql,Sqlite,我在一个旧的SQLite2数据库中工作,遇到了一个让我发疯的问题。数据库包含具有以下字段的会议事件: IDint MONTHint DAYint事件文本时间文本 时间是一个文本字段,因为它可能包含“待定”,所以我按24小时输入时间 我想检索数据并按日期和时间排序,以便显示从最早到最新的数据。但是,当我执行“按月、日、时从表顺序选择*时,我得到以下信息: MONTH DAY EVENT TIME ===================================

我在一个旧的SQLite2数据库中工作,遇到了一个让我发疯的问题。数据库包含具有以下字段的会议事件:

IDint MONTHint DAYint事件文本时间文本

时间是一个文本字段,因为它可能包含“待定”,所以我按24小时输入时间

我想检索数据并按日期和时间排序,以便显示从最早到最新的数据。但是,当我执行“按月、日、时从表顺序选择*时,我得到以下信息:

MONTH DAY EVENT TIME ===================================== 8 23 Dinner 19 8 24 Brunch 11 8 24 Meeting 14 9 15 Meeting 19 9 15 Breakfast 9 10 11 Meeting 20 10 11 Breakfast 8
谢谢。

将时间用作文本字段并将其升序排序会使其排序为字符串20,以2开头,因此在8之前。为了避免这种情况,您可以只使用一个DateTime字段来表示整月一天的时间,或者将time更改为int,并允许NULL值表示TBD。您的示例称为time desc,但您的示例代码具有time asc。也许这是简单的印刷错误。
$stm = "SELECT * FROM Table ORDER BY MONTH,DAY,TIME ASC";
$result = sqlite_array_query($dbhandle,$stm);
foreach ($result as $entry){  
 ****echo out $entry ****
}