I’m trying to enter all the course_code that have a score < 40 into array and echo it out somewhere. The print_r($carry_over) returns nothing!
$carry_over = array();
while ($row8 = mysql_fetch_assoc($query8)) {
if ($row8['score'] < 40) {
$carry_over[] = array('m.course_code' =>$row8['course_code']);
}
}
print_r($carry_over);
$query8 = mysql_query("SELECT m.score , m.course_code FROM maintable AS m
INNER JOIN students AS s ON m.matric_no = s.matric_no
INNER JOIN courses AS c ON m.course_code = c.course_code
WHERE m.matric_no = '".$matric_no."'
AND m.level = '".$level."'
AND m.score < 40"
) or die (mysql_error());
Your $query8 variable (the database query) should be defined before the
while()function. Right now, thewhile()function iterates over 0 rows which, of course, results in an empty array.Since you already check for rows where the score is less than 40 in your
SELECTquery, the check inside thewhile()function is redundant. You also missed a single-quote in front of course_code (it was previously a dot), and finally; adding an array inside the $carry_over array is unnecessary when you can just add the value directly to the first array.2nd UPDATE