Обрати внимание перед циклом переменной $check присвоено 0
$check = 0
WHILE($check = 0) - условие цикла, если $check равно 0 то цикл выполняется
В какой то момент переменная $check меняет свое значение, цикл прокрутится до конца и скрипт продолжится дальше.
При последующем проходе переменной $check снова присваивается 0
$check = 0
WHILE($check = 0) - цикл снова выполняется
Кстати такие циклы WHILE($check = 0) можно писать друг за другом если нужно ожидать появления чего то и даже имя переменной менять не нужно.