ORDER BY distance не работает с бесконечной прокруткой

У меня есть бесконечная страница прокрутки, где я хочу показать некоторые объявления и упорядочить их по расстоянию.

$ 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.""

Они правильно упорядочены по расстоянию, но отображаются только начальные объявления, и если я прокручиваю вниз, ничего не происходит.

У кого-нибудь есть решение или идея, которая может решить мою проблему?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector