Короче вот это робот, а теперь что увидел взглянув на код.
У тебя в HTML когда ты переберешь массив $pages, в твоем случае как я понимаю start_points и startpage идут пустыми, а также вынеси из foreach свои start и end points, имхо будут дубли. Собственно я к чему, что твои пустые ссылки и есть пустые дубли start и end points and startpage и endpage.
Включи отображение ошибок и посмотри не знаю там к примеру свой массив через print_r.
В целом конечно плохо, но удачи в изучение.