Я разрабатываю простую систему классных комнат, в которой учителя управляют классами и их предметами.
У меня есть 2 уровня доступа в моей таблице учителей, назначенных целым числом (1 = администратор, 2 = пользователь) ... Это означает, что директор является администратором:)
У учителя (уровня 1) может быть много классов, а в классе может быть много учителей (поэтому у меня есть таблица «TeachersClasses»). В классе может быть много предметов, а у учителя может быть много предметов.
По сути, я пытаюсь выполнить запрос, чтобы отобразить предметы преподавателя-администратора (уровень 1). Однако только учителя, имеющие уровень 2, имеют непосредственное отношение к предмету, который задает пользователь-администратор. Директор школы может просматривать все свои предметы через классную комнату, но я не могу отобразить все предметы на одной странице, вместо этого я могу только заставить предметы появляться в определенной аудитории прямо сейчас ...
Это то, что я имею до сих пор, которое ничего не возвращает. (Я предполагаю, что для этого может потребоваться более сложное предложение SQL, чем «INNER JOIN», который является единственным типом соединения, с которым я знаком, и подумал, что этого будет достаточно!
$query = "SELECT subjects.subjectid, subjects.subjectname,
subjects.subjectdetails, classroom.classid, classroom.classname
FROM subjects INNER JOIN classroom ON subjects.subjectid = classroom.classid
INNER JOIN teacherclasses ON classroom.classid = teacherclasses.classid
INNER JOIN teachers ON teacherclasses.teacherid = teachers.teacherid
WHERE teachers.teacherid = '".intval( $_SESSION['SESS_TEACHERID'] )."'";
Для того, чтобы все предметы, относящиеся к классу директоров школ, были отображены, я понял, что все мои таблицы нужно будет вызывать здесь? Спасибо за любую помощь!
Пример вывода:
название темы: математика //
учитель: мистер Смит //
класс: DG99
x10 по всем предметам, связанным с классными комнатами для учителей:)