ORDER BY距离不适用于无限滚动

时间:2014-10-31 14:46:37

标签: php mysql sql-order-by distance infinite-scroll

我有一个无限滚动页面,我想显示一些广告并按距离排序。

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

它们按距离正确排序,但只显示初始广告,如果我向下滚动没有任何反应。

是否有人有解决方案或想法可以解决我的问题?

0 个答案:

没有答案