Если вы не получаете ошибку mysql при выполнении запроса, то ваш запрос просто не возвращает строк. Попробуйте построить запрос отдельно и сохранить его в переменной, чтобы вы могли увидеть, что вы создали:
$sql = "SELECT * FROM mytable WHERE study_period='$period[$i]' AND ipk='$gpa[$i]'";
$queryAntecedent=mysql_query($sql) or die (mysql_error());
echo $sql;
Обратите внимание, что вы делаете ||
(или) в своем основном if()
утверждении. Это позволит выполнить ваш запрос, даже если значения имеют только ONE ваших массивов. Вместо этого вам нужно изменить его на сравнение &&
(и), что требует, чтобы ALL для массивов были доступны значения.
Например, если $gpa[$i]
окажется пустым, ваш запрос станет
SELECT * ... AND ipk='';
что, вероятно, НЕ то, что вы хотите.