У меня есть бесконечная страница прокрутки, где я хочу показать некоторые объявления и упорядочить их по расстоянию.
$ Postnumbers — это начальное количество загруженных рекламных объявлений, а $ offset — количество рекламных объявлений, загружаемых при прокрутке страницы вниз.
Это прекрасно работает без всякого расстояния. Так что, если я просто сделаю:
"SELECT * FROM adverts ORDER BY id DESC LIMIT ".$postnumbers." OFFSET ".$offset.""
бесконечная прокрутка работает правильно.
Но если я реализую материал расстояния:
"SELECT *,
( 3959 * acos( cos( radians('$lat') ) *
cos( radians( lat ) ) *
cos( radians( lon ) -
radians('$lon') ) +
sin( radians('$lat') ) *
sin( radians( lat ) ) ) )
AS distance FROM adverts HAVING distance < '$miles' ORDER BY distance, id ASC LIMIT ".$postnumbers." OFFSET ".$offset.""
Они правильно упорядочены по расстоянию, но отображаются только начальные объявления, и если я прокручиваю вниз, ничего не происходит.
У кого-нибудь есть решение или идея, которая может решить мою проблему?
Задача ещё не решена.
Других решений пока нет …