当前位置: 代码迷 >> PHP >> 如何给计算距离的sql加上分页
  详细解决方案

如何给计算距离的sql加上分页

热度:58   发布时间:2016-04-28 17:23:53.0
怎么给计算距离的sql加上分页
$query=mysql_query('select * from shop where lat > '.$lat.'-1 and lat < '.$lat.'+1 and lng> '.$lng.'-1 and lng < '.$lng.'+1 order by ACOS(SIN(('.$lat.' * 3.1415) / 180 ) *SIN((lat * 3.1415) / 180 ) +COS(('.$lat.' * 3.1415) / 180 ) * COS((lat * 3.1415) / 180 ) *COS(('.$lng.'* 3.1415) / 180 - (lng * 3.1415) / 180 ) ) * 6380 asc limit 100 ');

这语句。如果是正常下limit  后面是分页的页数和一页几条。但我加上距离计算后。limit 100的作用只起到了计算100公里内容的数据。分页的页数和一页几条的语句就不能加上。如果加上就不能显示。这是为什么?如何更改?

------解决思路----------------------
limit 100 是最多返回100条记录,与逻辑没有关系的。

limit $offset, $limit;
$offset是跳过多少条记录开始
$limit 是取多少条记录
用这两个就可以获取到分页

例如
$page = 2;
$pagesize 100;

limit (2-1)*100, 100; 就可以获取第二页的记录。
  相关解决方案