【问题标题】:Codeigniter - Restrict teachers to only the subject(s) they teachCodeigniter - 将教师限制在他们所教的科目上
【发布时间】:2020-09-02 13:44:38
【问题描述】:

我有一个表格,允许教师向学生发送作业。每位教师都必须仅限于他们所教的课程和科目。

但是,当教师想要提交或搜索家庭作业时,他们可以查看该课程的所有科目。就隐私而言,这确实是有问题的客栈。曾有老师不小心删除其他老师作业的案例。

我想通过允许教师只查看他们所教的科目来防止这一切。

查看

<div class="col-sm-4">
<div class="form-group">
<label for="pwd"><?php echo $this->lang->line('subject') ?></label><small class="req"> *</small>
<select class="form-control" name="modal_subject_id" id="modal_subject_id">
<option value=""><?php echo $this->lang->line('select') ?></option>

</select>
<span id="name_add_error" class="text-danger"><?php echo form_error('modal_subject_id'); ?></span>
</div>
</div>

我认为这是脚本

 $(document).ready(function (e) {

        getSectionByClass("<?php echo $class_id ?>", "<?php echo $section_id ?>", 'secid');

        getSubjectGroup("<?php echo $class_id ?>", "<?php echo $section_id ?>", "<?php echo $subject_group_id ?>", 'subject_group_id')
        getsubjectBySubjectGroup("<?php echo $class_id ?>", "<?php echo $section_id ?>", "<?php echo $subject_group_id ?>", "<?php echo $subject_id ?>", 'subid');

修改

教师与他们在 subject_timetable 中教授的科目相关联

subject_timetable

CREATE TABLE `subject_timetable` (
  `id` int(11) NOT NULL,
  `day` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
  `class_id` int(11) DEFAULT NULL,
  `section_id` int(11) DEFAULT NULL,
  `subject_group_id` int(11) DEFAULT NULL,
  `subject_group_subject_id` int(11) DEFAULT NULL,
  `staff_id` int(11) DEFAULT NULL,
  `time_from` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
  `time_to` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
  `room_no` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
  `session_id` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

型号

 public function get($id)
    {

        $this->db->select('subject_timetable.*,subject_group_subjects.subject_id,subjects.name,subjects.code,subjects.type');
        $this->db->from('subject_timetable');
        $this->db->join('subject_group_subjects', 'subject_timetable.subject_group_subject_id = subject_group_subjects.id');
        $this->db->join('staff', 'staff.id = subject_timetable.staff_id');
        $this->db->join('subjects', 'subjects.id = subject_group_subjects.subject_id');
        $this->db->where('subject_timetable.id', $id);
        $query = $this->db->get();
        return $query->row();
    }

【问题讨论】:

  • 分享你查询db的相关表详细信息和代码
  • 至少让我们看看作业表
  • 修改了帖子
  • session 中存储班级和学科教师教授的课程或在此URL 上获取该数据,然后使用ajax 显示带有class idsubject id 的查询数据.

标签: javascript php html codeigniter


【解决方案1】:

为此,您必须在选择每个选择选项后使用所选值作为您的条件进行 ajax 调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2016-02-06
    • 2013-05-27
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多