在php中使用switch语句和sql查询结果

时间:2014-07-25 09:20:10

标签: php mysql

很高兴再次与你交谈,我的查询有些问题,我将在下面给你看 我有mysql查询根据学生姓名选择一些数据和我的数据库中的一个列结果我使用天数作为数字[星期日= 0,星期一= 1,.....] 所以我需要根据日期将结果编号转换为字符串 这是我的查询

$raw_results = mysql_query("SELECT sa.tag_id,s.name ,lt.lecture_name,lt.lecturer_name,lt.dev_tag,lt.start,lt.end,sa.ads_ratio,sa.abs_hours,sa.days FROM students_absence sa INNER JOIN students s ON s.tag_id = sa.tag_id INNER JOIN lecture_table lt ON lt.id = sa.lecture_name WHERE sa.tag_id LIKE '%".$query."%' AND(`name` LIKE '%".$_SESSION['username']."%')")  or die(mysql_error());

所以我需要将sa.days [Sunday = 0,Monday = 1,.....]的结果转换为字符串并将其与其他结果一起显示 任何人都可以建议

1 个答案:

答案 0 :(得分:0)

您可以在SQL中使用case语句: -

$raw_results = mysql_query("SELECT sa.tag_id, 
                                    s.name , 
                                    lt.lecture_name, 
                                    lt.lecturer_name, 
                                    lt.dev_tag, 
                                    lt.start, 
                                    lt.end, 
                                    sa.ads_ratio, 
                                    sa.abs_hours, 
                                    CASE sa.days
                                        WHEN 0 THEN 'Sunday'
                                        WHEN 1 THEN 'Monday'
                                        WHEN 2 THEN 'Tuesday'
                                        WHEN 3 THEN 'Wednesday'
                                        WHEN 4 THEN 'Thursday'
                                        WHEN 5 THEN 'Friday'
                                        WHEN 6 THEN 'Saturday'
                                        ELSE 'Unknown'
                                    END AS DayName
                            FROM students_absence sa 
                            INNER JOIN students s ON s.tag_id = sa.tag_id 
                            INNER JOIN lecture_table lt ON lt.id = sa.lecture_name 
                            WHERE sa.tag_id LIKE '%".$query."%' AND(`name` LIKE '%".$_SESSION['username']."%')")  or die(mysql_error());