【问题标题】:Dealing with permissions with MYSQL and PHP [duplicate]使用 MYSQL 和 PHP 处理权限 [重复]
【发布时间】:2022-02-18 17:57:26
【问题描述】:

我正在为一所音乐学校做一个项目,我有一张学生桌,一张可用课程桌,我正在为教师创建一张桌子。我的问题是,我怎样才能设法将教师“链接”到某一门或多门课程,这样当教师登录管理页面时,他只能更新和添加信息到属于他正在教授的课程的学生。
我的第一个想法是,我应该在教师表中有一个字段,该字段只能包含 courseID 中的值(例如,如果我想注册一位吉他老师并且吉他课程的 ID 为 3 ,我应该在名为 teacher_course_id 的教师表中有一个字段,其值为 3)。我还考虑过一门课程有多位教师,如果是这样,我该如何授予权限只有一位老师(那个学生的老师),而不是那个特定课程的所有老师?
我真的不需要任何代码,我只是想简要解释一下我该怎么做。如果我不够清楚,我可以在 cmets 中提供更多详细信息

【问题讨论】:

  • 你可以在学生表中有一个列来存储 courseID 和teacherID,所以如果teacherID 匹配,只有那个老师可以看到这些学生
  • @RaoDYC 这不是一个好主意 - 学生应该有能力参加更多不同老师的课程
  • 到目前为止,您到底尝试了什么?如果你不需要任何代码,为什么用 PHP 标记?
  • 这包含在所有基本的 SQL 学习材料中。如果您没有书,请寻找一些教程。 SO 不应该替代您自己的研究/学习。多少钱research effort is expected of Stack Overflow users?
  • 教师和课程要么是多对多的(一名教师可以处理多门课程,而且一门课程可能由多名教师教授),或者一门课程只能由一名教师教授(这是一个商业决策,而不是编程决策),然后是一对多的关系。您需要根据业务决策对数据进行建模。

标签: php mysql


【解决方案1】:

你需要一张表来记录教师和课程之间的关系,就像这样:

课程
身份证
标题
...

老师
身份证
名称
...

教师课程
course_id
教师编号
可以编辑 0/1
...

【讨论】:

    【解决方案2】:

    您可以使用teacher_idcourse_idPrimary Key (teacher_id, course_id) 字段创建表

    【讨论】:

    • 你可以。但是由于 OP 正在努力解决基础问题,您应该在答案中添加一些解释,以便其他人可以从中学习
    猜你喜欢
    • 2015-04-21
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2017-03-14
    • 2012-07-22
    • 2019-11-26
    • 1970-01-01
    相关资源
    最近更新 更多