-1

我使用 MySQL 并尝试为我的学校项目编写 PHP 脚本。

有一个名为课程的表包含以下列:

-id
-lessonid.
-studentid

我还有两个不同的表用于注释和公告公告和注释表包含这些列:

-id
-lessonid
-content
-createdtime

我需要按创建时间从最新到最旧订购公告和笔记,但还需要显示学生上的所有课程。

例如:一个学生上数学和物理课。我需要向他/她展示物理和数学的笔记和公告,所有项目都应按日期排序。(就像一个时间线。)当然我不会给他/她看化学课的笔记和公告。如果我可以说它是清单上的注释或公告,那将是很好的。

您能帮我为此编写 SQL 和 PHP 代码吗?谢谢。

编辑:这是我坚持的地方:我合并了两张表并按日期排序。但不能将它们与学生所学的课程结合起来。

SELECT title, created, lessonid FROM (SELECT title, created, lessonid FROM notes UNION SELECT title, created, lessonid FROM announcements) as a ORDER BY created DESC 
4

2 回答 2

0

首先,感谢您让我们知道这是一个学校项目 - 因此我不会给您答案。如果它在项目中,那么你的老师应该已经给了你提出解决方案的概念。

您的问题很好地组合在一起,我可以看到如何解决它,但是……这是您的项目,因此您需要对其进行破解并发布您的想法。

我会给你一些提示,让你开始。

您需要一个查询来组合公告和注释表。然后,您需要按课程对数据进行分组并将其加入学生。这都是基本的 SQL。

祝你好运。发表你的想法。

于 2012-12-07T01:32:57.353 回答
0

我也会听从其他海报的建议,而不是为你做跑腿工作。但不会让你空手而归,所以会给你概念。有一个东西叫第三范式,我们根据这个概念决定有多少表,所以如果它是一个大数据库,那么名字分开表,姓分开表,因为很多人之间共享这些,所以节省空间和冗余等等,所以一个人的表以personid为主,并有lastname外键来引用姓氏表,我们通常将其命名为lastNameRef,类似于firstNameRef。所以现在,每个人都有很多班级,每个班级都有很多人(学生)。所以这是一个多对多关系 - 我们创建一个 allreference 表来解决这个多对多问题。所以有一个类的表,其中类 id 作为主键,

于 2012-12-07T01:57:36.363 回答