我有三张桌子:
1-课程表: 在这个表中课程存储一般。
course_id
course_code
course_name
credits
course_desc
semester_ava
2-课程课程: 在此表中,用户从Courses表中选择存储的课程
course_id
curriculum_id
set_number
3-先决条件表: 在此表中,用户插入某些课程的先决条件。
course_id
prereq_id
set
我试图生成一个可以从这三个表中获取信息的数组
我需要提取某些课程和课程的所有课程每门课程的先决条件。
我的代码我有两个问题
1-它提取仅具有先决条件的课程。例如,如果课程有10门课程,其中4门课程有必修课程,则代码将生成包含4门课程的数组。我需要提取所有课程,包括先决条件和没有课程的课程。
2-现在我可以显示课程名称,但是先决条件课程显示为[prereq_id] => 10这是课程表中的course_id我怎么拉它也是数组中的信息?
这是我的代码
$sql = "SELECT * FROM curriculum WHERE major_code='$majorcode' ORDER By startdate DESC LIMIT 1";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$ids= $row['curriculum_id'];
}
}
}
//I have edited the query according to @Marc B advice and it solved the first problem,but still have issue with the second problem.
$result2 = $mysqli->query("SELECT * FROM curriculumcourses INNER JOIN courses ON curriculumcourses.course_id = courses.course_id LEFT JOIN prerequisites ON courses.course_id=prerequisites.course_id where curriculum_id='$ids' ");
?>
<?php
for ($x = 1; $x <= $mysqli->affected_rows; $x++) {
$rows[] = $result2->fetch_assoc();
}
echo "<pre>";
print_r($rows);
echo "</pre>";
?>