Php 当用户已经创建时,如何将数据重新创建到用户中
你好,希望你能帮我解决这个问题。我不知道当用户已经创建并且想要在教师创建另一个主题并将该主题添加到他们的日程中时循环所有用户id时,这是否可能。。这是我的问题,我会解释的 我创建了一个有年级、房间和科目的学生 输出Php 当用户已经创建时,如何将数据重新创建到用户中,php,mysql,loops,while-loop,Php,Mysql,Loops,While Loop,你好,希望你能帮我解决这个问题。我不知道当用户已经创建并且想要在教师创建另一个主题并将该主题添加到他们的日程中时循环所有用户id时,这是否可能。。这是我的问题,我会解释的 我创建了一个有年级、房间和科目的学生 输出 student_id | grade | room | subject 1 | 1st yr | rose | math 1 | 1st yr | rose | english 因此,学生1在1年级和rose教室创建了一门数学和英语课程 如果
student_id | grade | room | subject
1 | 1st yr | rose | math
1 | 1st yr | rose | english
因此,学生1在1年级和rose教室创建了一门数学和英语课程
如果老师想在第一年和玫瑰室创建或添加主题音乐和学生,该怎么办。假设老师已经添加了这两个。所以期望输出是这样的
student_id | grade | room | subject
2 | 1st yr | rose | math
2 | 1st yr | rose | english
2 | 1st yr | rose | music
在创建一个学生和主题后,该表上的总体输出
student_id | grade | room | subject
1 | 1st yr | rose | math
1 | 1st yr | rose | english
2 | 1st yr | rose | math
2 | 1st yr | rose | english
2 | 1st yr | rose | music
现在的问题是学生1没有音乐科目。
问题是如何在学生1
if已由教师创建。将新主题添加到特定房间时,您可以执行以下操作:
- 一个房间表,您可以在其中存储所有不同的房间
- 一个主题表,您可以在其中存储所有不同的主题
- 学生
插入“房间”(房间名称)值('rose');
假设它返回ID=1
插入“主题”(主题名称)值(“音乐”);
假设它返回ID=34。然后将其分配给房间1
插入'SubjectsPerRoom'(subject\u id,room\u id)值(34,1);
现在您知道主题音乐已分配给房间罗斯。如果以后添加另一个房间或另一个主题,则可以使用相同的查询,只需创建这些实体之间的关系。这样,每个房间只有一个实例,您不需要重复信息,只需要将事物相互关联起来。正如您对问题的评论,这是数据的标准化
然后,假设您添加了3名学生:
插入'Students'(学生姓名)值('Tom');
在'Students'(student_name)值('Jerry')中插入;
在'Students'(student_name)值('Butch')中插入;
让我们假设这些返回ID 1、2和3
现在,你有一个房间,一个科目和三个学生。剩下的就是在学生、房间和主题之间建立关系
插入SubjectsPerStudentPerRoom(学生id、科目id、房间id)值(1,34,1);
在SubjectsPerStudentPerRoom(学生id、科目id、房间id)中插入值(2、34、1);
在SubjectsPerStudentPerRoom(学生id、科目id、房间id)中插入值(3、34、1);
现在你知道有三个学生被分配到roomrose学习主题音乐
然后,如果你添加了一个新的主题。您将执行以下步骤:
插入'subject'(subject_name)值('english');
假设返回35
插入'SubjectsPerRoom'(subject\u id,room\u id)值(35,1);
由于您没有向该房间添加新学生,而只是创建了该房间的主题并将其分配给该房间,因此您只需要创建房间之间的关系
$query='SELECT*来自SubjectsPerStudentPerRoom,其中'room\u id`=1';
//运行查询,假设该信息已分配给$students
foreach($student作为$student){
$query='插入SubjectsPerStudentPerRoom(学生id、科目id、房间id)值($student->student\id,35,1);';
}
然后,如果要选择分配给特定教室中特定班级的学生,可以执行以下操作:
从SubjectsPerStudentPerRoom中选择*
在student.student\u id=SubjectsPerStudentPerRoom.student\u id上加入学生
其中SubjectsPerStudentPerRoom.room_id=1,SubjectsPerStudentPerRoom.subject_id=35
这将给您分配到roomrose和subjectenglish的所有学生
希望这能帮助你实现你想要的
PS:这是有意简化的,但它应该引导您朝着正确的方向前进。如果这些表是数据库中的表,您应该在规范化后阅读!