首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MYSQL查询中的行显示为HTML表中的列

将MYSQL查询中的行显示为HTML表中的列
EN

Stack Overflow用户
提问于 2014-02-23 02:24:08
回答 1查看 1.6K关注 0票数 0

我有一个MYSQL数据库为每个学期的学生存储水平的工作。

我很好地创建了php页面、查询等,并且非常熟悉创建表所需的hmtl/css。我对数组有基本的理解。

我挣扎的地方是如何获取每个学生的数据,并将其显示在html表的列中。

以前,我在数据库中的评估表有多个列-- aut7、spr7、sum7等等,所以很容易在html表中显示。然而,我一直在努力使数据库更有效,所以现在将每个评估存储为一个单独的记录--数据库的设置要好得多,但出现了以下问题(我缺乏知识!)

我所指的一个简单例子如下:

这是查询的结果:

代码语言:javascript
复制
student_id   term    level
  1          aut7      3b
  1          spr7      3a
  1          sum7      4c
  2          aut7      3a
  2          spr7      4c
  2          sum7      4b

我希望它在我的html/css表中显示如下:

代码语言:javascript
复制
 Student      Aut7      Spr7     Sum7
   1           3b        3a       4c
   2           3a        4c       4a

如果有人能帮助一个相对较新的PHP/MySQL用户,我将非常感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-23 03:03:55

你需要改变你的结果。不幸的是,MySQL确实有PIVOT,但是您可以构建这样的查询以获得相同的结果

代码语言:javascript
复制
SELECT student_id, 
  MAX(CASE WHEN term = 'aut7' THEN level END) Aut7,
  MAX(CASE WHEN term = 'spr7' THEN level END) Spr7,
  MAX(CASE WHEN term = 'sum7' THEN level END) Sum7
FROM student_terms
GROUP BY student_id

参见SQL Fiddle中的演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21963378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档