如何给计算距离的sql加上分页
时间:2021-07-01 10:21:17
帮助过:23人阅读
怎么给计算距离的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; 就可以获取第二页的记录。